pip报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xb1 in position 7: ordinal not in range(12

来源:互联网 发布:java程序设计基础pdf 编辑:程序博客网 时间:2024/05/29 19:41

安装好 Python2.7 后,使用 pip 安装 numpy 时报了如下错误:

Exception:
Traceback (most recent call last):
  File "d:\program files\python\python27\lib\site-packages\pip\basecommand.py", line 215, in main
    status = self.run(options, args)
  File "d:\program files\python\python27\lib\site-packages\pip\commands\install.py", line 324, in run
    requirement_set.prepare_files(finder)
  File "d:\program files\python\python27\lib\site-packages\pip\req\req_set.py", line 380, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "d:\program files\python\python27\lib\site-packages\pip\req\req_set.py", line 620, in _prepare_file
    session=self.session, hashes=hashes)
  File "d:\program files\python\python27\lib\site-packages\pip\download.py", line 821, in unpack_url
    hashes=hashes
  File "d:\program files\python\python27\lib\site-packages\pip\download.py", line 659, in unpack_http_url
    hashes)
  File "d:\program files\python\python27\lib\site-packages\pip\download.py", line 880, in _download_http_url
    file_path = os.path.join(temp_dir, filename)
  File "d:\program files\python\python27\lib\ntpath.py", line 85, in join
    result_path = result_path + p_path
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb1 in position 7: ordinal not in range(128)

使用pip安装python包会加载用户目录,如果目录中存在中文,ascii编码时会报错。

解决办法:python目录 Python27\Lib\site-packages 建一个文件sitecustomize.py
里面写:

import sys
sys.setdefaultencoding('gb2312')

然后在重新运行 pip numpy

1 0
原创粉丝点击