2014-12-03 12 views
7

Sto correndo Django in un ambiente virtuale mira Python 3.4 utilizzando mod_wsgi. Ho NumPy 1.9 e sto ottenendo questo errore:Django con NumPy, Errore: non si può importare nome multiarray

**Request Method: GET 
Django Version: 1.7.1 
Exception Type: ImportError 
Exception Value:  
cannot import name multiarray 
Exception Location: /var/www/mapsite/lib/python3.4/site-packages/numpy/core/__init__.py in <module>, line 6 
Python Executable: /usr/bin/python 
Python Version: 2.7.5 
Python Path:  
['/var/www/mapsite/lib/python3.4/site-packages', 
'/usr/lib/python2.7', 
'/usr/lib/python2.7/plat-x86_64-linux-gnu', 
'/usr/lib/python2.7/lib-tk', 
'/usr/lib/python2.7/lib-old', 
'/usr/lib/python2.7/lib-dynload', 
'/usr/local/lib/python2.7/dist-packages', 
'/usr/lib/python2.7/dist-packages', 
'/usr/lib/python2.7/dist-packages/PILcompat', 
'/usr/lib/python2.7/dist-packages/gtk-2.0', 
'/usr/lib/pymodules/python2.7', 
'/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode', 
'/var/www/mysite'] 
Server time: Wed, 3 Dec 2014 09:07:24 +0000** 

consiglio Plesae

+0

Aspetta un secondo, perché vedo: 'Python Versione: 2.7.5'? – Marcs

+0

Non ho idea ... Corro Apache ed è così – user903772

+0

Hai impostato il percorso Python del tuo ambiente virtuale? – shellbye

risposta

0

prima cosa è necessario assicurarsi di essere nel giusto ambiente in cui è installato NumPy, Django, ecc Base sulla vostra condizione informazioni, presumo che tu abbia un virtualenv e attualmente stai sviluppando la tua applicazione. Se l'ipotesi è corretta, puoi seguire questa procedura.

Non avete bisogno di Apache per questo.

  1. Fonte virtualenv, source /path/to/env/bin/activate e vai alla directory del progetto.
  2. Assicurarsi di avere tutto il pacchetto si ha bisogno, pip freeze vi mostrerà, installare se necessario.
  3. Eseguire il costruito nel server da Django, python manage.py runserver
  4. Vai al tuo browser: http://localhost:8000

Voila!

+0

Sì, hai ragione, ma utilizzi solo manage.py per avviare il web server. Ho lo stesso messaggio di errore, ma dopo l'avvio di httpd (sono sicuro di avere un virtualenv). Chiunque può spiegarlo? – FavorMylikes

+0

"Non hai bisogno di Apache" è una forte affermazione. Voglio dire, se non vuoi avere il sito in produzione, sì, non c'è bisogno di Apache. Ma se vuoi che il sito sia "di produzione", allora sicuramente scappa da "runserver". – MariusSiuram

0

Si dovrebbe modificare la configurazione di Apache e/o mod_wsgi.

Nelle righe che si mostrano, si può vedere che un Python 2.7 è in uso, ma è essere combinato con i pacchetti da un ambiente virtuale di Python 3.4. Questo è completamente sbagliato e dovrebbe essere affrontato.

Per rimediare, il modo più semplice è quello di utilizzare il seguente pitone binario:

/var/www/mapsite/bin/python3.4 

al posto del default

/usr/bin/python 

Utilizzando l'ambiente esplicito binario virtuale è la strada da percorrere in quelli situazioni (almeno, ha funzionato per me in molti scenari simili).

Problemi correlati