1. ホーム
  2. python

[解決済み】Python 2.7 : LookupError: unknown encoding: cp65001 [重複]。

2022-02-07 02:13:53

質問

私はWindows 8.1(64ビット)にpython 2(64ビット)をインストールし、pipのバージョンを知りたいと思い、そのために私は発射しました。 pip --version が、エラーになります。

    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

注:同じコマンドはpython 3でも問題なく動作します。両方をアンインストールして、もう一度インストールしましたが、まだ成功しません。

解決方法は?

このエラーは、スクリプトが印刷しようとするユニコード文字が、現在のコンソールの文字エンコーディングでは表現できないことを意味します。

を実行してみてください。 set PYTHONIOENCODING=UTF-8 pip --version を実行した後 がなければ ターミナルをリロードし、すべてがうまくいっている場合は PYTHONIOENCODING をenv変数として、値を UTF-8 . 参照 Windowsでパスと環境変数を設定する方法 の記事で、Windowsの変数を追加する方法を紹介しています。

注意事項 : PowerShellの場合は $env:PYTHONIOENCODING = "UTF-8"

また win-unicode-console をpipで実行します。

pip install win-unicode-console

そして、ターミナルをリロードして、次のように実行してみてください。 pip --version

しかし Windows の cmd エンコーディングの変更で Python がクラッシュする という回答がありました。 同じ問題 .