解决Python使用pip安装时遇到的解码错误问题
2017-09-12 10:19
851 查看
我的OS是Windows,在使用python 3.6.2尝试安装pylint时,使用自动工具pip安装遇到了一个错误:
命令行:
运行错误(省略了其他正常输出):
这个问题其实很好解决,首先分析一下原因:
通常情况下,在windows里,pip 命令都是通过 cmd 或者 powershell 来调用运行,而一般中文的windows系统的 cmd 和 powershell 环境使用的编码格式默认为
解决方法就是利用 Traceback 信息里,找到
如果不想每次遇到这个异常都进来改一次, 可以把这一行替换成一组
以上
命令行:
>pip install pylint
运行错误(省略了其他正常输出):
Exception: Traceback (most recent call last): File "D:\Environment\Python36\lib\site-packages\pip\compat\__init__.py", line 73, in console_to_str return s.decode(sys.__stdout__.encoding) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa1 in position 43: invalid start byte During handling of the above exception, another exception occurred: Traceback (most recent call last): File "D:\Environment\Python36\lib\site-packages\pip\basecommand.py", line 215, in main status = self.run(options, args) File "D:\Environment\Python36\lib\site-packages\pip\commands\install.py", line 342, in run prefix=options.prefix_path, File "D:\Environment\Python36\lib\site-packages\pip\req\req_set.py", line 784, in install **kwargs File "D:\Environment\Python36\lib\site-packages\pip\req\req_install.py", line 878, in install spinner=spinner, File "D:\Environment\Python36\lib\site-packages\pip\utils\__init__.py", line 676, in call_subprocess line = console_to_str(proc.stdout.readline()) File "D:\Environment\Python36\lib\site-packages\pip\compat\__init__.py", line 75, in console_to_str return s.decode('utf_8') UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa1 in position 43: invalid start byte
这个问题其实很好解决,首先分析一下原因:
通常情况下,在windows里,pip 命令都是通过 cmd 或者 powershell 来调用运行,而一般中文的windows系统的 cmd 和 powershell 环境使用的编码格式默认为
GBK,python 里面默认使用
utf-8来解码,当然有可能遇到解码错误。
解决方法就是利用 Traceback 信息里,找到
$PYTHONROOT/lib/site-packages/pip/compat/__init__.py文件,找到 75 行,
return s.decode('utf_8')也就是引发异常的代码处, 把
"utf-8"替换成
"gbk"再运行就可以正常安装了。
如果不想每次遇到这个异常都进来改一次, 可以把这一行替换成一组
try...catch...,如果 utf-8 解码失败,则自动调用 gbk 解码。
以上
相关文章推荐
- windows下python使用pip命令安装builtwith库时,遇到的utf-8问题的解决
- 【Python】Windows下使用pip安装python模块时遇到的问题解决
- 使用atp-get安装Python-pip时遇到如下问题,附解决方案
- ubuntu安装pip+python27+ipython+scrapy+zlib-及遇到的各种问题解决
- 解决Python下使用pip安装Builtwith模块字符解析错误
- 使用pip安装tensorflow 0.80,python 使用tensorflow 0.80遇到的问题及处理方法
- 解决pip安装的包无法在anaconda 的python 环境下使用的问题
- 使用pip安装tensorflow 0.80,python 使用tensorflow 0.80遇到的问题及处理方法
- windows下安装python basemap时使用Visual Studio编译geos时遇到的问题以及解决方法
- 使用pip安装tensorflow 0.80,python 使用tensorflow 0.80遇到的问题及处理方法
- python安装更新和pip安装使用阿里源及yum问题解决
- 制作python docker镜像遇到pip安装依赖包ascii codec cant decode byte错误及解决方法
- [完]Python 安装setuptools,解决使用Matplotlib遇到的问题
- 关于解决Python使用pip安装pyjnius时的问题(windows平台)
- Win10下python3和python2同时安装并解决pip共存问题 特别说明,本文是在Windows64位系统下进行的,32位系统请下载相应版本的安装包,安装方法类似。 使用python开
- python中安装matplotlib模块遇到的问题和解决方法
- 安装和使用安卓iGO遇到的问题及解决方法
- 使用Tair时遇到pthread_join段错误问题解决
- 使用debmirror为Debian建立本地源的方法,以及遇到的GPG key验证错误问题的解决方法
- PYTHON -MYSQLDB安装遇到的问题和解决办法