pip install 出现报asciii码错误的问题

来源:互联网 发布:手机翻页电子书软件 编辑:程序博客网 时间:2024/05/16 09:46

我在用pip安装一些第三方库时,总会报错,错误如下:

提示:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xb1 inposition 34: ordinal

not in range(128)

ascii编码不能解码问题,查了好久,纠结了好久,终于找出问题所在了。。。。。。答案在下面!

>pip install sh

Downloading/unpacking sh

Cleaning up...

Exception:

Traceback (most recent call last):

File"D:\developer\Python27\lib\site-packages\pip-1.4.1-py2.7.egg\pip\basecomm

and.py", line 134, in main

status = self.run(options, args)

File"D:\developer\Python27\lib\site-packages\pip-1.4.1-py2.7.egg\pip\commands

\install.py", line 236, in run

requirement_set.prepare_files(finder,force_root_egg_info=self.bundle, bundl

e=self.bundle)

File "D:\developer\Python27\lib\site-packages\pip-1.4.1-py2.7.egg\pip\req.py",

line 1092, in prepare_files

self.unpack_url(url, location,self.is_download)

File"D:\developer\Python27\lib\site-packages\pip-1.4.1-py2.7.egg\pip\req.py",

line 1238, in unpack_url

retval = unpack_http_url(link, location,self.download_cache, self.download_

dir)

File"D:\developer\Python27\lib\site-packages\pip-1.4.1-py2.7.egg\pip\download

.py", line 621, in unpack_http_url

temp_location = os.path.join(temp_dir,filename)

File "D:\developer\Python27\lib\ntpath.py",line 108, in join

path += "\\" + b

UnicodeDecodeError: 'ascii' codec can'tdecode byte 0xb1 in position 9: ordinal

not in range(128)

 

Traceback (most recent call last):

File"D:\developer\Python27\Scripts\pip-script.py", line 9, in<module>

load_entry_point('pip==1.4.1','console_scripts', 'pip')()

File"D:\developer\Python27\lib\site-packages\pip-1.4.1-py2.7.egg\pip\__init__

.py", line 148, in main

return command.main(args[1:], options)

File"D:\developer\Python27\lib\site-packages\pip-1.4.1-py2.7.egg\pip\basecomm

and.py", line 169, in main

text = '\n'.join(complete_log)

UnicodeDecodeError: 'ascii' codec can't decode byte 0xb1 inposition 34: ordinal

not in range(128)

 

原因是pip安装python包会加载我的用户目录,我的用户目录恰好是中文的,ascii不能编码。

解决办法是: 
python目录 Python27\Lib\site-packages 建一个文件sitecustomize.py 
内容写: 
import sys 
sys.setdefaultencoding('gbk') 
python会自动运行这个文件。

原创粉丝点击