Flacon+Nginx+uWSGI : ImportError: No module named site
J'ai installé le http://www.reinbach.com/uwsgi-nginx-flask-virtualenv-mac-os-x.html lien du tutoriel et lors de l'exécution de la commande uwsgi --ini deploy/deploy.ini
, le terminal dit qu'il y avait une erreur d'importation:
Ensemble PYTHONHOME
à /virtualenv/sample/
ImportError: No module named site
J'ai réglé mon PYTHONHOME
et PYTHONPATH
comme
export PYTHONPATH=$PYTHONPATH:/Library/Python/2.7/site-packages
export PYTHONHOME=$PYTHONHOME:/Library/Python/2.7
Je ne peux pas comprendre ce qui ne va pas avec elle.
Quelqu'un pourrait m'aider avec le problème?
Toute l'info dans le terminal est comme ci-dessous, si elle est utile:
(env)ios-devmatoMacBook-Pro:hello ios_dev$ uwsgi --ini deploy/deploy.ini
[uWSGI] getting INI configuration from deploy/deploy.ini
*** Starting uWSGI 1.9.10 (64bit) on [Fri May 17 16:42:22 2013] ***
compiled with version: 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00) on 17 May 2013 12:41:07
os: Darwin-11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-
1699.32.7~1/RELEASE_X86_64
nodename: ios-devmatoMacBook-Pro.local
machine: x86_64
clock source: unix
detected number of CPU cores: 4
current working directory: /Users/ios_dev/Desktop/sample/hello
detected binary path: /Users/ios_dev/Documents/little/little-web/little_web_dev/env/bin/uwsgi
your processes number limit is 709
your memory page size is 4096 bytes
detected max file descriptor number: 256
lock engine: OSX spinlocks
uwsgi socket 0 bound to TCP address 127.0.0.1:3031 fd 3
Python version: 2.7.1 (r271:86832, Jun 16 2011, 16:59:05) [GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)]
Ensemble PYTHONHOME
à /virtualenv/sample/
ImportError: No module named site
Pourquoi vous mettez-vous PYTHONHOME à tous? Il doit également être un répertoire unique et n'est pas exprimé en tant que chemin d'accès, comme vous êtes en train de faire. Le vide de l'entrée et du côlon en il serait bousiller les choses.
veuillez poster le contenu de votre
Dumpleton: j'ai vu dans le lien du tutoriel qu'il y a un pythonhome réglage de la phrase, donc j'ai juste copier que dans mon fichier. Mais je ne suis pas sûr de savoir si c'est nécessaire.
voici le contenu de déployer.ini [uwsgi] socket = 127.0.0.1:3031 processus = 2 virtualenv = /virtualenv/échantillon/ module = myapp appelable = app touch-reload = /virtualenv/échantillon/hello/
veuillez poster le contenu de votre
deploy/deploy.ini
script.Dumpleton: j'ai vu dans le lien du tutoriel qu'il y a un pythonhome réglage de la phrase, donc j'ai juste copier que dans mon fichier. Mais je ne suis pas sûr de savoir si c'est nécessaire.
voici le contenu de déployer.ini [uwsgi] socket = 127.0.0.1:3031 processus = 2 virtualenv = /virtualenv/échantillon/ module = myapp appelable = app touch-reload = /virtualenv/échantillon/hello/
OriginalL'auteur Yuqi | 2013-05-17
Vous devez vous connecter pour publier un commentaire.
Voici comment j'ai résolu le même message d'erreur (ImportError: No module named site) que j'ai tout essayer ce tutoriel: https://uwsgi.readthedocs.org/en/latest/tutorials/Django_and_nginx.html.
sudo pip install uwsgi
home = /chemin/vers/virtualenv
Je n'ai pas downvote. Et désolé, je ne vais pas upvote ce.
J'ai roulé en arrière votre modifier - si vous souhaitez supprimer la réponse, supprimer en utilisant le lien "supprimer" en bas à gauche (à côté de la modifier). Ne pas saccager votre post à la place.
OriginalL'auteur
J'ai lu beaucoup de document sur la question, mais n'obtiennent pas de réponse.
Par hasard, je résoudre ce problème en modifier l'uid et le gid en tant que root.
Il semble comme un problème d'autorisations. Je ne sais pas pourquoi, mais il vient de travailler. Rappelez-vous, il est très dangereux pour exécuter un produit de l'environnement en tant que root.
chown -R user:group /path/to/env
afin que le mot de propriétaire et de groupe sont définis pour l'environnement, et de définir les autorisations appropriées.OriginalL'auteur Yifan Gao
1、active le virtuel que vous avez utilisé
2、 pip install uwsgi
- ce la clé de l'action,puis le
montrer ce
3、l'utilisation actuelle de l'utilisateur pour exécuter
uwsgi
, parce que d'autres utilisateurs n'est pas actif, le virtualenvOriginalL'auteur shake863
Im Mon cas, je n'étais pas à l'aide de virtualEnv. Juste à l'aide de django + ngnix. Ma solution a été de retirer à la MAISON de la variable dans le *.ini fichier de configuration:
sudo nano /etc/uwsgi/sites/c_app.ini
alors il fonctionne.
OriginalL'auteur Diego Rojas