Pip + errori di importazione WSGI
-
18-09-2019 - |
Domanda
quando schiero mie applicazioni che ha funzionato benissimo che utilizzano il server di test Django Io di solito ottenere gli errori per ogni pacchetto che ho installato usando pip installare -e .... # uovo = foo. Io di solito faccio usando virtualenv, che ha posto i file in ENV / src / pippo e piazza un altro file in python / site-packages (questo è un esempio di django-css):
django-css.egg-link, che contiene le seguenti righe:
/home/pinax-0.7.1/src/django-css
.
Come faccio a dire WSGI che dovrebbe seguire tali collegamenti, o sto facendo qualcosa di sbagliato tutto.
Grazie, Philipp Wassibauer
Soluzione
Questo è ciò che il mio script WSGI per Django in un virtualenv appare come:
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()
Il bit chiave è site.addsitedir(...)
, che aggiunge i contenuti di tutti i file *.pth
nella directory specificata per sys.path
. In questo caso, è il file easy-install.pth
che Python ha bisogno di aiuto per trovare.
Altri suggerimenti
La documentazione modwsgi ha note su come utilizzare virtualenv . Di solito è così semplice come modificare la vostra django.wsgi
(o come si chiamano) file in modo che aggiunge l'ambiente virtualenv percorso di per modwsgi.
Questo link ha alcuni ulteriori, distillati, note sull'uso pip / virtualenv / modwsgi.