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