2013-04-29 13 views
11

Sto provando ad installare uWSGI con la piramide, ma io sono sempre questo errore, quando si tenta uwsgi --ini-paste development.iniuWSGI non riesce con No module named codifica errore

Python version: 3.2.3

Messaggio di errore:

uwsgi socket 0 bound to UNIX address /tmp/uwsgi.sock fd 3 
Python version: 3.2.3 (default, Oct 19 2012, 20:08:46) [GCC 4.6.3] 
Set PythonHome to /root/path/to/virtualenv 
Fatal Python error: Py_Initialize: Unable to get the locale encoding 
ImportError: No module named encodings 

Qui è quello che ho in development.ini

[uwsgi] 
socket = /tmp/uwsgi.sock 
master = true 


processes = 4 

harakiri = 60 
harakiri-verbose = true 
limit-post = 65536 
post-buffering = 8192 

daemonize = ./uwsgi.log 
pidfile = ./pid_5000.pid 

listen = 256 

max-requests = 1000 

reload-on-as = 128 
reload-on-rss = 96 
no-orphans = true 

log-slow = true 
virtualenv = /root/path/to/virtualenv 

Suppongo che ho controllato tutto il possibile, compreso il seguente

echo LANG:$LANG LC_CTYPE:$LC_CTYPE 
LANG:en_US.UTF-8 LC_CTYPE: 

Sto usando virtualenv e uWSGI è stato installato mentre l'ambiente era attivo. Ho anche controllato che lib del mio ambiente virtuale ha un pacchetto di nome codifica (indicando la mia installazione python3.2 principale)

Inoltre ho controllato this risposta e this

avevo precedentemente installato uWSGI quando il mio non era virtualenv attivo, ma poi l'ho installato correttamente e rimosso i file eseguibile e py dall'installazione precedente.

C'è un modo per ottenere registri dettagliati, per favore fatemi sapere se c'è. Grazie in anticipo

risposta

2

nel mio caso era fondamentalmente perché ho usato python 2.7 come interprete principale, e uwsgi ha scelto il plugin pyhon3. Potrebbe essere necessario forzare utilizzando:

plugins = python32

dove python32 è il nome appropriato per il vostro plugin pythhon3.

Avete controllato: uwsgi python3 plugin doesn't work?

0

comando Esegui uwsgi (con le opzioni) proprio come la seguente riga:

/<path-to-your-virtualenv-bin>/uwsgi --http :8008 --module project.wsgi --venv /<path-to-your-virtualenv> --chdir /<path-to-your-project>

Troverete i problemi.

Ti sei perso il modulo param?

2

Ho anche incontrato questo problema oggi, e ho provato a impostare plugins=python34, ma non ha funzionato su Ubuntu 14.04 e Python 3.4.3

Questo è quello che ho fatto per risolvere il problema:

  1. sudo pip uninstall uwsgi

  2. qualcosa va storto quando ho eseguito sudo pip install uwsgi, ed eseguire questo primo:

    sudo apt-get install python-dev

  3. (sudo)pip install uwsgi

0

Appena avuto lo stesso problema. Quello che ho capito dopo, è stato che ho installato uwsgi con pip install uwsgi nel virtualenv. Una volta lasciato il virtualenv, ho installato uwsgi sul sistema locale con pip3 install uwsgi (avviso ho scritto pip invece di pip3). Così ho disinstallato con pip3 uninstall uwsgi e ho ripetuto con pip install uwsgi. Ha funzionato come un fascino.

4

Controllare che

virtualenv = /root/path/to/virtualenv 

indica la strada giusta. Ho risolto il mio errore risolvendo questo percorso errato.

+0

Anche se può sembrare ovvio, sono caduto per quello oggi. Perché mai non può esserci un messaggio di errore per indicare che il percorso virtualev non esiste? Dio e uwsgi conoscono solo la risposta –