[Python2] Win7(x64)下安装Py2.7、pip,以及错误UnicodeEncodeError的解决方案
2018-01-26 23:02
956 查看
环境
Win7 (x64) 中文安装Python以及Pip
Python2 (默认安装到C:\Python27下)下载链接:https://www.python.org/downloads/
记得将该目录添加到系统环境变量中
安装setuptools
下载链接:https://pypi.python.org/pypi/setuptools#downloads
下载Source的压缩包文件,解压后用cmd进入到解压后的文件所在的目录执行命令:
python setup.py install
安装pip
下载链接:https://pypi.python.org/pypi/pip#downloads
安装方法同setuptools
安装完成后easy_install、pip均在目录 C:\Python27\Scripts(记得将该目录添加到系统环境变量中)
使用Pip安装扩展库
比如安装requests库:pip install requests报错如下:
…省略…File “C:\Python27\lib\site-packages\pip-9.0.1-py2.7.egg\pip_vendor\colorama\ansitowin32.py”, line 174, in write_plain_text
self.wrapped.write(text[start:end])
UnicodeEncodeError: ‘ascii’ codec can’t encode character u’\u258b’ in position 8: ordinal not in range(128)
解决方案:
找到文件ansitowin32.py,并在文件开头加上import sys
reload(sys)
sys.setdefaultencoding(‘gbk’) #gbk编码在cmd下使用pip install进度条正常显示,此处需根据自己需求更改该编码
此处特地标红了reload(sys)语句,如果不加这条语句,会出现错误:
AttributeError: ‘module’ object has no attribute ‘setdefaultencoding’
先看Python2.7模块加载过程:
C:\Documents and Settings\Administrator\桌面>python -v # installing zipimport hook import zipimport # builtin # installed zipimport hook # C:\Python27\lib\site.pyc matches C:\Python27\lib\site.py import site # precompiled from C:\Python27\lib\site.pyc # C:\Python27\lib\os.pyc matches C:\Python27\lib\os.py import os # precompiled from C:\Python27\lib\os.pyc import errno # builtin import nt # builtin # C:\Python27\lib\ntpath.pyc matches C:\Python27\lib\ntpath.py import ntpath # precompiled from C:\Python27\lib\ntpath.pyc # C:\Python27\lib\stat.pyc matches C:\Python27\lib\stat.py import stat # precompiled from C:\Python27\lib\stat.pyc # C:\Python27\lib\genericpath.pyc matches C:\Python27\lib\genericpath.py import genericpath # precompiled from C:\Python27\lib\genericpath.pyc # C:\Python27\lib\warnings.pyc matches C:\Python27\lib\warnings.py import warnings # precompiled from C:\Python27\lib\warnings.pyc
首先会加载C:\Python2.7\lib\site.py文件,在site.py文件中的main函数最后两句代码:
def main(): global ENABLE_USER_SITE abs__file__() known_paths = removeduppaths() if (os.name == "posix" and sys.path and os.path.basename(sys.path[-1]) == "Modules"): addbuilddir() if ENABLE_USER_SITE is None: ENABLE_USER_SITE = check_enableusersite() known_paths = addusersitepackages(known_paths) known_paths = addsitepackages(known_paths) if sys.platform == 'os2emx': setBEGINLIBPATH() setquit() setcopyright() sethelper() aliasmbcs() setencoding() execsitecustomize() if ENABLE_USER_SITE: execusercustomize() # Remove sys.setdefaultencoding() so that users cannot change the encoding after initialization. The test for presence is needed when this module is run as a script, because this code is executed twice. if hasattr(sys, "setdefaultencoding"): del sys.setdefaultencoding
在加载sys后,setdefaultencoding函数被删除了,所以需要重新加载sys。
一劳永逸的方案
在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为:import sys
reload(sys)
sys.setdefaultencoding(‘gbk’)
python启动的时候会调用sitecustomize.py文件设置系统的默认编码,而不需要每次都手动的在错误文件上加这三行代码。
Reference
http://liguangming.com/how-to-use-utf-8-with-pythonhttp://blog.csdn.net/intel80586/article/details/8566057
相关文章推荐
- Python:UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 12305,以及中文乱码的解决方案
- 安装Win7和Ubuntu12.04双系统后,意外删除Ubuntu12.04引导文件,出现error:unknown filesystem;grub rescue>错误的解决方案
- Python2.7 pip编码错误UnicodeDecodeError: 'utf8' codec can't decode byte 0xb0 in解决方法
- centos安装更新Python2.7以及pip的安装
- win7下python2.7安装 pip,setuptools的正确方法
- python 3安装错误 Fatal Python error: Py_Initialize: Unable to get the locale encoding
- Python常见错误:ImportError、UnicodeEncodeError、IndentationError
- Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode 错误
- Python2.7环境部署和pip安装以及模块安装
- win7下python2.7安装 pip,setuptools的正确方法(亲测)
- python2.7使用pip安装 16d0 包一直错误
- 安装 pywin32-218.win32-py2.7.exe 报错python version 2.7 required,which was not found in the registry解决方案
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- 【Linux】 CentOS6.5安装Python2.7以及pip等工具
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- python2.7与pip的安装 ansii错误 setup.py错误
- win7下python2.7安装 pip,setuptools的正确方法
- win7下python2.7安装 pip,setuptools的正确方法(亲测)
- pip安装软件时出现Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build*的解决方案
- pip安装软件时出现Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build*的解决方案