pip安装UnicodeDecodeError
我在新笔记本上(Win 7 64位)用pip安装beautifulsoup4的时候,遇到了这个错误:
Cleaning up...
Exception:
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\pip\basecommand.py", line 122, in main
status = self.run(options, args)
File "C:\Python27\lib\site-packages\pip\commands\install.py", line 278, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundl
e=self.bundle)
File "C:\Python27\lib\site-packages\pip\req.py", line 1234, in prepare_files
req_to_install.assert_source_matches_version()
File "C:\Python27\lib\site-packages\pip\req.py", line 464, in assert_source_ma
tches_version
% (display_path(self.source_dir), version, self))
UnicodeDecodeError: 'ascii' codec can't decode byte 0x9e in position 58: ordinal
not in range(128)
Traceback (most recent call last):
File "C:\Python27\lib\runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "C:\Python27\lib\runpy.py", line 72, in _run_code
exec code in run_globals
File "C:\Python27\Scripts\pip.exe\__main__.py", line 9, in <module>
File "C:\Python27\lib\site-packages\pip\__init__.py", line 185, in main
return command.main(cmd_args)
File "C:\Python27\lib\site-packages\pip\basecommand.py", line 161, in main
text = '\n'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0x9e in position 73: ordinal
not in range(128)
我使用的命令是:pip install beautifulsoup4
你知道问题可能出在哪里吗?
附注:这个笔记本之前用来做演示,所以上面安装了多种语言的程序。
5 个回答
0
在我的情况下,问题是因为pip在读取仓库的setup.cfg文件时遇到了编码问题。最开始我使用PyCharm的虚拟环境创建工具,默认终端是gitbash,这时我一直收到这个错误。后来我在powershell中手动创建了我的虚拟环境,这样就没有再出现这个错误,不过我收到了以下警告:警告:由于编码错误,忽略了setup.cfg中的distutils配置。
1
在我的情况下,问题是因为在 requirements.txt
文件里有一些非美国ASCII字符。
27
或者,你可以在系统上运行下面这个命令,紧接着再执行 pip install,就可以了:
export LC_ALL="en_US.UTF-8"
5
这是因为你现在的工作目录里有一些非ASCII字符,比如说:
$ pwd
$ /home/abuser/Загрузки
这个问题在pip 1.5.6版本中依然存在,真让人头疼。所以,你可以选择不去修补pip,而是直接换一个工作目录。