web-dev-qa-db-de.com

ImportError: Kein Modul mit dem Namen 'encodings'

Ich habe vor kurzem Ubuntu neu installiert und ein Upgrade auf 16.04 durchgeführt und kann Python nicht verwenden:

$ python manage.py runserver
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
Aborted

An diesem Punkt funktioniert Python selbst nicht

$ python
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
Aborted

Sogar dieser Vorschlag funktioniert nicht mehr:

unset PYTHONHOME
unset PYTHONPATH

Jedes Mal, wenn ich es repariere, kommt es wieder. Mehrere Antworten helfen, das Problem vorübergehend zu beheben, jedoch nicht für immer. Ich habe Python und Python3 mehrmals neu installiert. Was kann ich von hier aus machen? Vielen Dank

57
codyc4321

Entfernen Sie für Python-3 die Dateien der virtuellen Umgebung. Und es zurücksetzen.

rm -rf venv
virtualenv -p /usr/bin/python3 venv/
source env/bin/activate
pip install -r requirements.txt

https://wiki.ubuntu.com/XenialXerus/ReleaseNotes#Python_3

53
Anoop Malav

Für Windows10-Benutzer.

Ich habe Python3.4 unter Windows10 verwendet. Ich habe Python3.5 installiert. Ich konnte die Env-Variable PYTHONPATH, PYTHONHOME nicht finden. Wenn ich Python in der CMD-Konsole befehle, wurde weiterhin Python3.4 verwendet. Ich habe Python3.4 gelöscht. Immer wenn ich in der CMD-Konsole Python befehle, wird der folgende Fehler angezeigt.

Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'

Ich habe nach meinem Problem gesucht. Lösung war einfach. Wenn Sie python3.5 installieren, können Sie die Option Python zu Umgebungsvariablen hinzufügen in Erweiterte Optionen anpassen.

Ich gehe einfach hier für den Fall, dass jemand ähnliche Probleme hier hat, damit er nicht seine kostbare Zeit verschwendet, um es herauszufinden.

8
Jayground

Ich hatte diesen Fehler während der Migration zu Ubuntu 17.10 und dies löste das Problem:

Sudo dpkg-reconfigure python3

Möglicherweise müssen Sie Ihre Sitzung beenden und die Verbindung wieder herstellen.

5
numahell

Ich war unter Windows7 mit dem gleichen Problem konfrontiert. Die Fehlermeldung sieht so aus:

Fatal Python error: Py_Initialize: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'

Current thread 0x000011f4 (most recent call first):

Ich habe Python 2.7 (jetzt deinstalliert) installiert und bei der Installation von Python 3.6 die Option "Python zu Umgebungsvariablen in den erweiterten Optionen hinzufügen" aktiviert. Es kommt heraus, dass die Umgebungsvariable "PYTHONHOME" und "PYTHONPATH" noch python2.7 ist. 

Schließlich löste ich es, indem ich "PYTHONHOME" in python3.6 install pflege und die Variable "PYTHONPATH" entferne. 

4
Li Qiao

Für das gleiche Problem unter Windows7

Sie erhalten einen Fehler wie diesen, wenn Ihre Umgebungsvariablen/Systemvariablen falsch eingestellt sind:

Fatal Python error: Py_Initialize: unable to load the file system codec
ImportError: No module named 'encodings'

Current thread 0x00001db4 (most recent call first):

Das zu beheben ist sehr einfach:

  1. Wenn Sie die Python3.x-Version herunterladen und die EXE-Datei ausführen, haben Sie die Möglichkeit, den Installationsort von Python in Ihrem System anzupassen. Zum Beispiel wählte ich diesen Speicherort:C:\Programme\Python36 

  2. Öffnen Sie anschließend die Systemeigenschaften, und wechseln Sie zur Registerkarte " Erweitert " (Oder gehen Sie einfach folgendermaßen vor: Gehen Sie zu Start> Suchen nach " Umgebungsvariablen "> Klicken Sie auf "Systemumgebungsvariablen bearbeiten".) "Erweitert", suchen Sie nach "Umgebungsvariablen" und klicken Sie darauf. Ein weiteres Fenster mit dem Namen "Umgebungsvariablen" wird geöffnet.

  3. Stellen Sie nun sicher, dass Ihre Benutzervariablen über den richtigen Python-Pfad in "Path Variable" verfügen. In meinem Beispiel hier sollten SieC:\Programme\Python36sehen. Wenn Sie es nicht dort finden, fügen Sie es hinzu, indem Sie das Feld Pfadvariable auswählen und auf Bearbeiten klicken.

  4. Der letzte Schritt besteht darin,PYTHONHOMEundPYTHONPATHFelder unter Systemvariablen im selben Fenster zu überprüfen. Sie sollten denselben Pfad wie oben beschrieben sehen. Wenn nicht, fügen Sie es auch dort hinzu.

Klicken Sie dann auf OK, und kehren Sie zum CMD-Terminal zurück. Versuchen Sie, nach Python zu suchen. Das Problem sollte jetzt gelöst werden. Es hat für mich funktioniert.

4
dotpy_novice

Schauen Sie sich die Datei /lib/python3.5 an, und Sie sehen beschädigte Links zu Python-Bibliotheken. Erstellen Sie es im Arbeitsverzeichnis neu.

Nächster Fehler - 

./script/bin/pip3
Failed to import the site module
Traceback (most recent call last):
  File "/home/script/script/lib/python3.5/site.py", line 703, in <module>
    main()
  File "/home/script/script/lib/python3.5/site.py", line 683, in main
    paths_in_sys = addsitepackages(paths_in_sys)
  File "/home/script/script/lib/python3.5/site.py", line 282, in addsitepackages
    addsitedir(sitedir, known_paths)
  File "/home/script/script/lib/python3.5/site.py", line 204, in addsitedir
    addpackage(sitedir, name, known_paths)
  File "/home/script/script/lib/python3.5/site.py", line 173, in addpackage
    exec(line)
  File "<string>", line 1, in <module>
  File "/home/script/script/lib/python3.5/types.py", line 166, in <module>
    import functools as _functools
  File "/home/script/script/lib/python3.5/functools.py", line 23, in <module>
    from weakref import WeakKeyDictionary
  File "/home/script/script/lib/python3.5/weakref.py", line 12, in <module>
    from _weakref import (
ImportError: cannot import name '_remove_dead_weakref'

so behoben - https://askubuntu.com/questions/907035/importerror-cannot-import-name-remove-dead-weakref

cd my-virtualenv-directory
virtualenv . --system-site-packages
0
IvanTheFirst