importeurror: geen module met de naam ‘Encodings’

Ik heb onlangs Ubuntu opnieuw geïnstalleerd en deed upgrade naar 16.04 en kan Python niet gebruiken:

$ 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

Op dit punt werkt Python zelf niet

$ 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

Zelfs deze suggestie werkt niet langer:

unset PYTHONHOME
unset PYTHONPATH

Iedereen repareer het op een manier, het komt weer terug. Verschillende antwoorden helpen het tijdelijk te repareren, maar niet voor het goede. Ik heb het Python en Python3 verschillende keren opnieuw geïnstalleerd. Wat kan ik hier doen? Bedankt


Antwoord 1, Autoriteit 100%

Voor Python-3 Probeer virtuele milieubestanden te verwijderen. En het opnieuw instellen.

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

https://wiki.ubuntu.com/xenialxerus/releasenotes#python_3
bewerken fo


Antwoord 2, autoriteit 22%

Voor Windows10-gebruiker.

Ik gebruikte python3.4 op Windows10. Ik heb python3.5 geïnstalleerd. Ik kon PYTHONPATH, PYTHONHOME env variabele niet vinden. Als ik python beveel in de CMD-console, bleef het python3.4 gebruiken. Ik heb python3.4 verwijderd. Telkens wanneer ik python opdraag in de CMD-console, begint het een fout te vertonen zoals hieronder.

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

Ik heb gezocht om mijn probleem op te lossen. Oplossing was simpel. Wanneer u python3.5 installeert, kunt u een aangepaste installatie uitvoeren en Python toevoegen aan omgevingsvariabelenaanvinken in Geavanceerde opties.

Ik ga hier weg voor het geval iemand soortgelijke problemen hier heeft, zodat ze hun kostbare tijd niet veel verspillen om erachter te komen.


Antwoord 3, autoriteit 12%

Ik had hetzelfde probleem onder Windows7. De foutmelding ziet er als volgt uit:

Fatal Python error: Py_Initialize: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
Current thread 0x000011f4 (most recent call first):

Ik heb python 2.7 geïnstalleerd (nu verwijderd), en ik heb “Python toevoegen aan omgevingsvariabelen in Geavanceerde opties” aangevinkt tijdens het installeren van python 3.6. Het blijkt dat de omgevingsvariabele “PYTHONHOME” en “PYTHONPATH” nog steeds python2.7 is.

Eindelijk heb ik het opgelost door “PYTHONHOME” te wijzigen in het installatiepad van python3.6 en de variabele “PYTHONPATH” te verwijderen.


Antwoord 4, autoriteit 12%

Voor hetzelfde probleem op Windows7

U ziet een foutmelding als deze als uw omgeving Variabelen / Systeemvariabelen onjuist zijn ingesteld:

Fatal Python error: Py_Initialize: unable to load the file system codec
ImportError: No module named 'encodings'
Current thread 0x00001db4 (most recent call first):

Fixing Dit is echt eenvoudig:

  1. Wanneer u Python3.x-versie downloadt en het bestand -Exe uitvoert, geeft u een optie om aan te passen waar u in uw systeem Python wilt installeren. Ik heb bijvoorbeeld voor deze locatie gekozen: C: \ Program Files \ Python36

  2. Open vervolgens Systeemeigenschappen en ga naar “geavanceerd ” tabblad (of u kunt dit eenvoudig doen: ga naar Start & GT; Zoeken naar “Milieuvariabelen ” & GT; klik op “Bewerk de Systeemomgeving Variabelen”.) Zoek onder het tabblad “Geavanceerd” naar “Milieuvariabelen” en klik erop. Een ander venster met naam “Milieuvariabelen” verschijnt.

  3. Zorg er nu voor dat uw gebruikersvariabelen het juiste Python-pad hebben vermeld in “PATH-variabele”. In mijn voorbeeld moet u C: \ Program Files \ Python36 zien. Als u het daar niet vindt, voegt u deze toe door padvariabele veld te selecteren en op Bewerken te klikken.

  4. Laatste stap is om Pythonhome en PythonPath -velden onder systeemvariabelen in hetzelfde venster in. Je zou hetzelfde pad moeten zien zoals hierboven beschreven. Zo niet voeg het daar toe.

Klik vervolgens op OK en ga terug naar CMD-terminal en probeert u op Python te controleren. Het probleem moet nu worden opgelost. Het werkte voor mij.


Antwoord 5, Autoriteit 9%

Ik had deze fout tijdens de migratie naar Ubuntu 17.10, en dit heeft het probleem opgelost:

sudo dpkg-reconfigure python3

Misschien moet je je sessie afsluiten en opnieuw verbinden.


Antwoord 6

Kijk naar /lib/python3.5 en je zult gebroken links naar pythonbibliotheken zien. Maak het opnieuw aan in de werkmap.

Volgende fout –

./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'

zo opgelost – https://askubuntu.com/questions/907035 /importerror-cannot-import-name-remove-dead-weakref

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

Antwoord 7

had hetzelfde probleem bij het bijwerken van mijn Mac naar MacOS Catalina, terwijl u pipenvgebruikt. PIPENV maakt en beheert een virtualenvvoor u, dus de eerdere suggestie van @ Anoop-Malav is hetzelfde, alleen met PIPENV om de virtuele omgeving te verwijderen op basis van het huidige dir en het opnieuw instellen:

pipenv --rm
pipenv shell  # recreate a virtual env with your current Pipfile

Antwoord 8

Ik was geconfronteerd met dit probleem “ModulenotFoundError: geen module met de naam ‘Encodings’ na het updaten naar Macos Catalina.

Ik had meerdere versies van Python geïnstalleerd in mijn systeem.

Verwijderen van alle Python-versies (2.7 en 3.7.4) uit het MacOS-systeem en het opnieuw installeren van de nieuwste Python 3.8 werkte voor mij.

Om een ​​Python uit MacOS te verwijderen, heb ik de instructies van hier gevolgd Hoe de installatie van Python 2.7 te verwijderen op een Mac OS X 10.6.4?

De bovenstaande link is voor Python 2.7 en u kunt ook hetzelfde voor 3.7 gebruiken.


Antwoord 9

In mijn geval werkte gewoon de machtigingen van Anaconda-map gewerkt:

sudo chmod -R u=rwx,g=rx,o=rx /path/to/anaconda   

Antwoord 10

Ik kreeg deze fout bij het starten van MySQL Workbench 8.0 op mijn MacOS Catalina 10.15.3.

Ik heb dit probleem opgelost door Python 3.7 op mijn systeem te installeren.

Ik denk in de toekomst, wanneer Workbench een versie groter dan 8 heeft, vereist het nieuwere versie van Python. Kijk gewoon naar het bibliotheekpad in de fout en u vindt de vereiste versie.


Antwoord 11

Ik had een soortgelijk probleem. Ik had zowel Anaconda als Python op mijn computer geïnstalleerd en mijn Python-afhankelijkheden waren uit de Anaconda-map. Wanneer ik Anaconda ongedeerde, begon deze fout te knallen. Ik heb PYTHONPATHtoegevoegd, maar het ging nog steeds niet.
Ik controleerde met python -versionen ga om te weten dat het nog steeds het Anaconda-pad nam.
Ik moest Anaconda3-directory handmatig verwijderen en daarna begon Python afhankelijk te maken van PYTHONPATH.
Probleem opgelost!


Antwoord 12

Omdat dit het eerste resultaat is in Google, wil ik gewoon de volgende informatie toevoegen voor iemand anders met problemen met de gevangenissen:

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
ModuleNotFoundError: No module named 'encodings'
Current thread 0x00007f079b16d740 (most recent call first):
Aborted (core dumped)

Wanneer u probeert Python in uw gevangenis te importeren, moeten u allebei de afhankelijkheden en /USRR/LIB/PYTHONX.Y MOETEN koppelen aan [Jail] / USR / LIB /. Ik hoop dat dit helpt.


Antwoord 13

Ga gewoon naar bestand – & GT; Instellingen – & GT; Selecteer Projectinterpreter onder Project Tab – & GT; Klik op het pictogram van de kleine versnelling – & GT; Add – & GT; Systeeminterpreter – & GT; Selecteer de gewenste Python-versie in het vervolgkeuzemenu

Dit leek voor mij te werken


Antwoord 14

Ik zou dit ook kunnen oplossen. Pythonpath en Pythonhome waren in oorzaak.

Voer dit in een terminal

  touch ~/.bash_profile
   open ~/.bash_profile

en verwijder vervolgens alle nutteloze delen van dit bestand en sla het op.
Ik weet niet hoe aanbevolen het is om dat te doen!

Other episodes