解决Python使用pip安装时遇到的解码错误问题
来源:互联网 发布:ann bp网络分类器 编辑:程序博客网 时间:2024/06/05 07:41
我的OS是Windows,在使用python 3.6.2尝试安装pylint时,使用自动工具pip安装遇到了一个错误:
命令行:
>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_strreturn s.decode(sys.__stdout__.encoding)UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa1 in position 43: invalid start byteDuring 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 mainstatus = self.run(options, args) File "D:\Environment\Python36\lib\site-packages\pip\commands\install.py", line 342, in runprefix=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 installspinner=spinner, File "D:\Environment\Python36\lib\site-packages\pip\utils\__init__.py", line 676, in call_subprocessline = console_to_str(proc.stdout.readline()) File "D:\Environment\Python36\lib\site-packages\pip\compat\__init__.py", line 75, in console_to_strreturn 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 解码。
以上
阅读全文
0 0
- 解决Python使用pip安装时遇到的解码错误问题
- 安装Python-pip时遇到的问题
- python 使用 pip时遇到的问题
- windows下python使用pip命令安装builtwith库时,遇到的utf-8问题的解决
- Python-解决pip安装库时UnicodeDecodeError的错误
- 使用pip安装pygame遇到的问题
- 关于解决Python使用pip安装pyjnius时的问题(windows平台)
- Mac下Python使用Pip安装包错误解决
- 使用pip安装tensorflow 0.80,python 使用tensorflow 0.80遇到的问题及处理方法
- 使用pip安装tensorflow 0.80,python 使用tensorflow 0.80遇到的问题及处理方法
- python下安装easy_install、pip遇到的问题
- 使用atp-get安装Python-pip时遇到如下问题,附解决方案
- 【python】Windows下使用pip安装python模块时遇到的问题解决
- pip install opencv-python遇到的错误
- 解决pip安装的包无法在anaconda 的python 环境下使用的问题
- [完]Python 安装setuptools,解决使用Matplotlib遇到的问题
- Python pip源,解决安装慢的问题
- 解决python无法用pip命令安装的问题
- Sort 函数,python
- 网络请求工具类--HttpClientUtil
- 正则表达式
- CRF代码
- TCP 协议详解
- 解决Python使用pip安装时遇到的解码错误问题
- (1)Echarts图表绑定特殊事件
- Tomcat入门
- zabbix系列(三)zabbix-proxy3.0.9安装部署
- 1001. 叠罗汉
- MD5 算法
- java的System.getProperty()方法有关详解
- JavaScript canvas实现俄罗斯方块
- 不联网情况下解决 Unknown host 'services.gradle.org'.You may need to adjust the proxy settings in Gradle问题