Pip + erreurs d'importation WSGI
-
18-09-2019 - |
Question
quand je mes applications qui déploie ont fonctionné très bien en utilisant le serveur de test de django je reçois souvent des erreurs pour chaque paquet que j'installé à l'aide d'installer pip -e .... # œuf = toto. Je fais habituellement cela en utilisant virtualenv, qui a placé les fichiers dans env / src / foo et place un autre fichier dans le site-packages de python / (ceci est un exemple de django-css):
django-css.egg-lien, qui contient les lignes suivantes:
/home/pinax-0.7.1/src/django-css
.
Comment puis-je dire wsgi qu'il devrait suivre ces liens, ou que je fais quelque chose de mal tout à fait.
merci, Philipp Wassibauer
La solution
est ce que mon script pour WSGI Django dans un virtualenv ressemble à:
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'
import site
site.addsitedir('/path/to/virtualenv/lib/python2.6/site-packages')
from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()
La clé bit est site.addsitedir(...)
, qui ajoute le contenu des fichiers *.pth
dans le répertoire spécifié à sys.path
. Dans ce cas, il est le fichier easy-install.pth
qui a besoin Python d'aide dans.
Autres conseils
La documentation modwsgi a des notes sur comment utiliser virtualenv . Il est généralement aussi simple que la modification de votre django.wsgi
(ou tout ce que vous appelez) fichier afin qu'il ajoute l'environnement virtualenv au chemin de modwsgi.
Ce lien a quelques autres, distillés, notes sur l'utilisation pip / virtualenv / modwsgi.