uWSGI Fatal Python error: Py_Initialize: Unable to get the locale encoding
Ich gesehen habe mindestens 3 Fragen über dieses problem.
- Virtualenv (Python 3.2)
- Django-Projekt in diesem env
- uWSGI
Aber ich habe plugins = python3
im uWSGI-Einstellungen-Datei und es ist ok!
Server gestartet wird, funktioniert alles...
Server-Neustart - und alles noch funktioniert...
Reload server (oder touch reload-file
) und Sie haben diese Fehlermeldung:
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named encodings
Sogar mehr... ich habe ein anderes Projekt in einem anderen Env und der touch reload-file
dafür arbeiten.
Irgendwelche Vorschläge, warum kann das passieren?
PS: ich habe versucht, erstellen Sie eine neue virtualenv
Protokolle:
Nach service uwsgi restart
:
...
Sun Dec 29 22:57:21 2013 - detected max file descriptor number: 1024
Sun Dec 29 22:57:21 2013 - lock engine: pthread robust mutexes
Sun Dec 29 22:57:21 2013 - uwsgi socket 0 bound to UNIX address /run/uwsgi/app/test/socket fd 3
Sun Dec 29 22:52:59 2013 - uwsgi socket 1 bound to TCP address 127.0.0.1:3045 fd 5
Sun Dec 29 22:52:59 2013 - Python version: 3.2.3 (default, Sep 25 2013, 19:38:45) [GCC 4.7.2]
Sun Dec 29 22:52:59 2013 - Set PythonHome to /pyenvs/test/
Sun Dec 29 22:52:59 2013 - Python main interpreter initialized at 0x688cc0
Sun Dec 29 22:52:59 2013 - threads support enabled
Sun Dec 29 22:52:59 2013 - your server socket listen backlog is limited to 10000 connections
Sun Dec 29 22:52:59 2013 - *** Operational MODE: preforking ***
Sun Dec 29 22:52:59 2013 - WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x688cc0 pid: 1619 (default app)
Sun Dec 29 22:52:59 2013 - *** uWSGI is running in multiple interpreter mode ***
Sun Dec 29 22:52:59 2013 - spawned uWSGI master process (pid: 1619)
Sun Dec 29 22:52:59 2013 - spawned uWSGI worker 1 (pid: 1628, cores: 1)
Sun Dec 29 22:52:59 2013 - spawned uWSGI worker 2 (pid: 1629, cores: 1)
Nach service uwsgi reload
:
Sun Dec 29 22:55:31 2013 - *** Starting uWSGI 1.2.3-debian (64bit) on [Sun Dec 29 22:55:31 2013] ***
...
Sun Dec 29 22:55:31 2013 - detected max file descriptor number: 1024
Sun Dec 29 22:55:31 2013 - lock engine: pthread robust mutexes
Sun Dec 29 22:55:31 2013 - uwsgi socket 0 inherited UNIX address /run/uwsgi/app/test/socket fd 3
Sun Dec 29 22:55:31 2013 - uwsgi socket 1 inherited INET address 127.0.0.1:3045 fd 5
Sun Dec 29 22:55:31 2013 - Python version: 3.2.3 (default, Sep 25 2013, 19:38:45) [GCC 4.7.2]
Sun Dec 29 22:55:31 2013 - Set PythonHome to /pyenvs/test/
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named encodings
Update 1
Es ist definitiv virtuellen env. Das kopieren meiner alten VEnv und verwenden nicht die Ursache für dieses problem.
Immer noch keine Ahnung, warum eine neu erstellte, nicht funktioniert.
Vervielfältigung nur python
ausführbare Datei hat nicht geholfen.
Hinzugefügt, @roberto. Die Sache, die ich nicht verstehe, ist, warum es funktionieren kann aber nicht einfach neu laden.
1.2.3 von mehr als 2 Jahren. Update es hat es hat Fehler bekannt und es kommt aus der Zeit, als die uWSGI-Benutzer-Basis war nicht so groß wie jetzt. Vielleicht ist es ja irrelevant für dein spezifisches problem, aber besser, es zu versuchen.
Wie haben Sie uwsgi?
Es war ein system-Paket für Ubuntu 12.10
InformationsquelleAutor Sergey | 2013-12-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß nicht genau, was passiert ist, denn ich habe eine Menge Dinge:
oder besser verwenden
pip install uwsgi
in Ihrer VE und laufen, was Sie brauchen mit supervisordNun funktioniert es. Dank roberto.
InformationsquelleAutor Sergey