web-dev-qa-db-fra.com

Aucun module nommé 'encodages' après la mise à niveau vers 16.04

Bonjour, j'ai mis à niveau Ubuntu vers la version 16.04, mais chaque fois que j'essaie d'exécuter un programme Python ou une installation pip (les deux Python 2.7 ou Python 3.5), j'obtiens le message d'erreur suivant:

ImportError: No module named 'encodings'

Screenshot

1
euler16

D'après les commentaires, il semble que vous essayiez d'utiliser pip3 dans un fichier virtualenv configuré pour Python 2. Notez que l'exécution de virtualenv venv crée un fichier virtualenv nommé venv pour Python 2 par défaut sur Ubuntu si vous ne spécifiez pas explicitement la version Python.

Dans tous les cas, si vous voulez créer un virtualenv pour Python 2, exécutez:

virtualenv venv  # create virtualenv named venv for Python 2

Si vous voulez créer un virtualenv pour Python 3, exécutez:

virtualenv venv -p python3  # create virtualenv named venv for Python 3

Dans les deux cas, après avoir activé virtualenv en exécutant source venv/bin/activate, il vous suffit d'appeler pip pour installer Python packages; cela reste valable pour un virtualenv créé pour Python 3 car pip sait déjà quelle version de Python vous utilisez, donc ne pas appeler pip3 .

1
edwinksl

J'ai utilisé dpkg -S <missing file> pour déterminer le paquet à réinstaller ...

Puis j'ai couru (exemple):

Sudo apt install --reinstall libpython2.7-stdlib libpython2.7-minimal
1
dnl