uWSGI Fatal Python error: Py_Initialize: Unable to get the locale encoding

Ich gesehen habe mindestens 3 Fragen über dieses problem.

  1. Virtualenv (Python 3.2)
  2. Django-Projekt in diesem env
  3. 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.

bitte fügen Sie uWSGI startup Protokolle, wie Sie berichten, welche version von python ist wirklich verwendet, und wenn die venv ist ok
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

Schreibe einen Kommentar