161 votes

ImportError : Aucun module nommé 'encodings'.

J'ai récemment réinstallé ubuntu et mis à niveau vers la version 16.04, mais je ne peux pas utiliser python :

$ 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

À ce stade, Python lui-même ne fonctionne pas.

$ 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

Même cette suggestion ne fonctionne plus :

unset PYTHONHOME
unset PYTHONPATH

Chaque fois que je le répare d'une façon, ça revient encore. Plusieurs réponses permettent de le résoudre temporairement, mais pas pour de bon. J'ai réinstallé python et python3 plusieurs fois. Que puis-je faire à partir de là ? Je vous remercie.

0 votes

Est-ce lié à Django ou simplement à Python ? Vous pouvez modifier votre question avec le tag approprié.

2 votes

Juste python, il se trouve que j'utilise django

0 votes

Il semble que l'installation de python soit incomplète. Avez-vous installé python via apt ou l'avez-vous compilé et installé à partir des sources ? Exécutez which python pour vérifier quel binaire python vous avez en premier dans $PATH.

119voto

Anoop Malav Points 581

Pour Python-3, essayez de supprimer les fichiers d'environnement virtuel. Et remettez tout en place.

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 modifier

2 votes

Super ! Merci de m'avoir enseigné comment installer python3 dans un env en utilisant la fonction virtualenv commande ! Pour une raison quelconque, il m'a fallu environ 2 mois pour la trouver. Incroyable...

4 votes

Bonjour, j'ai essayé de faire cela sur mon dispositif Amazon AMI (basé sur RHEL) mais cela ne fonctionne pas. Y a-t-il un autre moyen de résoudre ce problème ?

1 votes

Lorsque j'ai entré la dernière commande, l'erreur suivante s'est produite. Pouvez-vous résoudre ce problème ? Impossible d'ouvrir le fichier des exigences : [Errno 2] Aucun fichier ou répertoire de ce type : 'requirements.txt'.

28voto

Jayground Points 779

Pour les utilisateurs de Windows10.

J'utilisais python3.4 sur Windows10. J'ai installé python3.5. Je n'ai pas trouvé la variable d'environnement PYTHONPATH, PYTHONHOME. Si je commande python dans la console CMD, il continue à utiliser python3.4. J'ai supprimé python3.4. Chaque fois que je commande python dans la console CMD, il commence à montrer une erreur comme ci-dessous.

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

J'ai cherché à comprendre mon problème. La solution était simple. Lorsque vous installez python3.5, vous pouvez installer et vérifier de manière personnalisée Ajouter Python aux variables d'environnement dans les options avancées.

Je laisse ici pour le cas où quelqu'un aurait des problèmes similaires à visiter ici afin qu'ils ne perdent pas leur temps précieux à comprendre.

1 votes

Juste pour ajouter mon expérience à cela - si vous avez précédemment installé une version différente de Python et créé un env, désinstallez Python, allez à l'endroit où il a été installé et supprimez-le, puis supprimez toute référence à python du chemin, puis allez à C:\Users\ %USERNAME%\ et supprimez .virtualenvs. Ensuite, installez la version de Python que vous voulez utiliser, en l'ajoutant au chemin d'accès

13voto

dotpy_novice Points 130

Pour le même problème sous Windows7

Vous verrez une erreur comme celle-ci si vos variables d'environnement/ variables système sont mal définies :

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

Current thread 0x00001db4 (most recent call first):

La solution à ce problème est très simple :

  1. Lorsque vous téléchargez la version 3.x de Python et que vous exécutez le fichier .exe, vous avez la possibilité de personnaliser l'endroit où vous souhaitez installer Python dans votre système. Par exemple, j'ai choisi cet emplacement : C:\Program Fichiers \Python36

  2. Ensuite, ouvrez les propriétés du système et allez dans " Avancé "(Ou vous pouvez simplement faire ceci : Allez dans Démarrer > Rechercher " variables d'environnement " > Cliquez sur "Modifier les variables d'environnement du système"). Sous l'onglet "Avancé", cherchez "Variables d'environnement" et cliquez dessus. Une autre fenêtre avec le nom "Variables d'environnement" apparaîtra.

  3. Maintenant, assurez-vous que vos variables d'utilisateur ont le bon chemin Python listé dans "Path Variable". Dans mon exemple, vous devriez voir C:\Program Fichiers \Python36 . Si vous ne le trouvez pas là, ajoutez-le, en sélectionnant le champ Variable de chemin et en cliquant sur Modifier.

  4. La dernière étape consiste à revérifier PYTHONHOME et PYTHONPATH sous Variables système dans la même fenêtre. Vous devriez voir le même chemin que celui décrit ci-dessus. Si ce n'est pas le cas, ajoutez-le là aussi.

Ensuite, cliquez sur OK et retournez au terminal CMD, et essayez de vérifier la présence de python. Le problème devrait maintenant être résolu. Cela a fonctionné pour moi.

0 votes

C'est exactement la même chose sur win10. Dans mon cas, c'était juste le PYTHONHOME et le PYTHONPATH qui étaient définis sur une ancienne installation.

2 votes

@dotpy_novice Pourriez-vous mettre en évidence l'étape 4 en détail ? Je n'avais aucun chemin d'accès dans mes variables utilisateur et j'ai ajouté ce que vous avez dit à l'étape 3. Maintenant, j'hésite un peu à poursuivre. Il n'y a pas de PYTHONHOME et PYTHONPATH dans les variables du système. Dois-je les créer moi-même et, si oui, que dois-je insérer dans les variables système ? Nom de la variable et Valeur de la variable ?

13voto

Li Qiao Points 31

Je rencontrais le même problème sous Windows7. Le message d'erreur ressemble à ça :

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

Current thread 0x000011f4 (most recent call first):

J'ai installé python 2.7 (désinstallé maintenant), et j'ai coché "Ajouter Python aux variables d'environnement dans les options avancées" lors de l'installation de python 3.6. Il s'avère que la variable d'environnement " PYTHONHOME " et " PYTHONPATH " est toujours python2.7.

Finalement, j'ai résolu le problème en modifiant " PYTHONHOME "vers le chemin d'installation de python3.6 et supprimez la variable " PYTHONPATH ".

9voto

numahell Points 61

J'ai eu cette erreur lors de la migration vers Ubuntu 17.10, et cela a résolu le problème :

sudo dpkg-reconfigure python3

Vous devrez peut-être fermer votre session et vous reconnecter.

1 votes

J'ai la version 16.04, cela n'a pas résolu mon problème. J'essaie juste de comprendre pourquoi cela s'est produit.

0 votes

Même problème sur ubuntu 16.4.. Dois-je réinstaller Ubuntu ? /usr/sbin/dpkg-reconfigure: python3 ist kaputt oder nicht komplett installiert

0 votes

Sur 18.04 Lubuntu il est dit Fatal Python error: Py_Initialize: Unable to get the locale encoding

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X