【发布时间】:2016-05-12 14:29:45
【问题描述】:
我在 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。我已经卸载并再次安装,但仍然没有成功。
【问题讨论】:
-
cp65001是 Windows 对 UTF-8 的双说。您可能可以暂时重新配置您的终端以使用您的 Python 版本已知的编码(也许是旧的cp1252?),看看是否有帮助。 -
在 Windows 10 上启用日语输入和输出后,我在 Powershell 中自发地发生了这种情况。禁用它并重新启动 Powershell 显然解决了这个问题。
-
chcp 850 为我解决了这个问题 - Windows 中的其他东西随机将控制台转移到 65001(一个术语模拟器),因此设置为 850 作为重新启动控制台的解决方法。
-
在
cp65001已成为utf-8的别名的Python 3.8 上,您不应出现此错误。 docs.python.org/3/library/codecs.html#standard-encodings(滚动到底部)
标签: python python-2.7 encoding pip