web-dev-qa-db-fra.com

Python 2.7: LookupError: encodage inconnu: cp65001

J'ai installé python 2 (64 bits), sur Windows 8.1 (64 bits) et je voulais connaître la version de pip et pour cela j'ai tiré pip --version mais cela donne une erreur.

    C:\Users\ADMIN>pip --version
Traceback (most recent call last):
  File "c:\dev\python27\lib\runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "c:\dev\python27\lib\runpy.py", line 72, in _run_code
    exec code in run_globals
  File "C:\dev\Python27\Scripts\pip.exe\__main__.py", line 5, in <module>
  File "c:\dev\python27\lib\site-packages\pip\__init__.py", line 15, in <module>
    from pip.vcs import git, Mercurial, Subversion, Bazaar  # noqa
  File "c:\dev\python27\lib\site-packages\pip\vcs\Mercurial.py", line 10, in <module>
    from pip.download import path_to_url
  File "c:\dev\python27\lib\site-packages\pip\download.py", line 35, in <module>
    from pip.utils.ui import DownloadProgressBar, DownloadProgressSpinner
  File "c:\dev\python27\lib\site-packages\pip\utils\ui.py", line 51, in <module>
    _BaseBar = _select_progress_class(IncrementalBar, Bar)
  File "c:\dev\python27\lib\site-packages\pip\utils\ui.py", line 44, in _select_progress_class
    six.text_type().join(characters).encode(encoding)
LookupError: unknown encoding: cp65001

Remarque: la même commande fonctionne bien pour python 3.). J'ai désinstallé les deux et l’a réinstallé, mais toujours sans succès.

29
Himanshu Bhandari

L'erreur signifie que les caractères Unicode que votre script tente d'imprimer ne peuvent pas être représentés à l'aide du codage de caractères de la console actuel.

Essayez aussi de lancer set PYTHONIOENCODING=UTF-8 après exécution pip --version sans recharger le terminal si tout se passe bien, ajoutez PYTHONIOENCODING comme variable env avec la valeur UTF-8. Voir Comment définir le chemin d'accès et les variables d'environnement dans Windows article pour obtenir des informations sur l'ajout d'une variable Windows.

[~ # ~] note [~ # ~] : Pour pouvoir utiliser $env:PYTHONIOENCODING = "UTF-8"

Aussi, vous pouvez essayer d'installer win-unicode-console avec pip:

pip install win-unicode-console

Rechargez ensuite votre terminal et essayez d’exécuter pip --version

Cependant, vous pouvez suivre les suggestions de la modification de l’encodage cmd de Windows provoque Python ) car vous avez le même problème .

66
Andriy Ivaneyko

Tout d’abord, vous devez mettre à jour votre pip. Vous pouvez le faire dans Windows en:

python -m pip install -U pip

Ensuite, allez manuellement dans votre dossier de scripts, entrez la ligne de commande à partir de ce dossier (vous pouvez le faire en cliquant sur Maj + bouton droit de la souris -> Ouvrir la fenêtre de la console). , et alors vous devriez utiliser une de ces commandes.

pip -V
pip --version

Cela se traduira par

pip 7.1.2 from c:\python27\lib\site-packages (python 2.7)

Si vous rencontrez toujours des problèmes, vous pouvez essayer de supprimer votre Python PATH actuel) et d’en ajouter un nouveau à Python 2.7.

1
user5864559