今天安sqlalchemy 发现安装会提示UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb6 in position 34: invalid start byte

具体错误信息如下

C:\Users\MythHack>pip --no-cache-dir install sqlalchemy
 
Collecting sqlalchemy
 
  Downloading http://mirrors.aliyun.com/pypi/packages/02/69/9473d60abef55445f8e967cfae215da5de29ca21b865c99d2bf02a45ee01/SQLAlchemy-1.1.9.tar.gz (5.2MB)
 
    100% |████████████████████████████████| 5.2MB 253kB/s
 
Installing collected packages: sqlalchemy
 
  Running setup.py install for sqlalchemy ... error
 
Exception:
 
Traceback (most recent call last):
 
  File "d:\python36\lib\site-packages\pip\compat__init__.py", line 75, in console_to_str
 
    return s.decode(sys.__stdout__.encoding)
 
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb6 in position 34: invalid start byte
 
During handling of the above exception, another exception occurred:
 
Traceback (most recent call last):
 
  File "d:\python36\lib\site-packages\pip\basecommand.py", line 215, in main
 
    status = self.run(options, args)
 
  File "d:\python36\lib\site-packages\pip\commands\install.py", line 342, in run
 
    prefix=options.prefix_path,
 
  File "d:\python36\lib\site-packages\pip\req\req_set.py", line 784, in install
 
    kwargs
 
  File "d:\python36\lib\site-packages\pip\req\req_install.py", line 878, in install
 
    spinner=spinner,
 
  File "d:\python36\lib\site-packages\pip\utils__init__.py", line 676, in call_subprocess
 
    line = console_to_str(proc.stdout.readline())
 
  File "d:\python36\lib\site-packages\pip\compat__init__.py", line 77, in console_to_str
 
    return s.decode('utf_8')
 
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb6 in position 34: invalid start byte

然后老习惯

Lib\site-packages

新建文件:sitecustomize.py

import sys
 
sys.setdefaultencoding('gb2312')

sys.setdefaultencoding('gb2312')
 
Traceback (most recent call last):
 
  File "", line 1, in
 
AttributeError: module 'sys' has no attribute 'setdefaultencoding'

??????wtf?

然后想起来,最近换了python3 查了查说

python3不支持sys.setdefaultencoding('gb2312')

那这个怎么弄啊!b了狗、。、

后来以为是编译器有问题。。又折腾了折腾

Microsoft Visual C++ Compiler for Python 2.7

发现不是这个的问题。。

仔细又看了一眼报错

File "d:\python36\lib\site-packages\pip\compat__init__.py", line 75, in console_to_str
 
    return s.decode(sys.__stdout__.encoding)
 
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb6 in position 34: invalid start byte

直接去d:\python36\lib\site-packages\pip\compat__init__.py 修改了75行为

return s.decode('gb2312')

C:\Users\MythHack>pip --no-cache-dir install sqlalchemy
 
Collecting sqlalchemy
 
  Downloading http://mirrors.aliyun.com/pypi/packages/02/69/9473d60abef55445f8e967cfae215da5de29ca21b865c99d2bf02a45ee01/SQLAlchemy-1.1.9.tar.gz (5.2MB)
 
    100% |████████████████████████████████| 5.2MB 518kB/s
 
Installing collected packages: sqlalchemy
 
  Running setup.py install for sqlalchemy ... done
 
Successfully installed sqlalchemy-1.1.9

终于安装上了。。

Comments
Write a Comment