解决conda安装qt-5.6.2-vc9_1包时出现的字符集编码问题

来源:互联网 发布:武汉js防水材料市场 编辑:程序博客网 时间:2024/05/28 14:56

部分错误信息如下:

An error occurred while installing package ‘https://mirrors.tuna.tsinghua.edu.cn
/anaconda/cloud/conda-forge::qt-5.6.2-vc9_1’.
UnicodeDecodeError(‘ascii’, ‘C:\Users\Administrator\Miniconda2\Library\bin;
C:\Users\Administrator\Miniconda2\envs\snakes;C:\Users\Administrator\Min
iconda2\envs\snakes\Library\mingw-w64\bin;C:\Users\Administrator\Minicon
da2\envs\snakes\Library\usr\bin;C:\Users\Administrator\Miniconda2\envs\
\snakes\Library\bin;C:\Users\Administrator\Miniconda2\envs\snakes\Script
s;E:\Python27\Lib\site-packages\PyQt4;C:\ProgramData\Oracle\Java\javapat
h;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\Sys
tem32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.8.0_102\bin;C:\
Program Files\Java\jdk1.8.0_102\jre\bin;C:\Program Files\Git\cmd;C:\Prog
ram Files\nodejs\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\B
inn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Fi
les\Microsoft SQL Server\100\DTS\Binn\;D:\tao\\xb9\xa4\xbe\xdf\Strings;D
:\tao\\xb9\xa4\xbe\xdf\upx393w;D:\tao\\xb5\xda\xd2\xbb\xd0\xd0\xb4\xfa\xc2\
xeb\xd1\xa7\xcf\xb0\android-sdk_r24.4.1-windows\sdk\tools;D:\tao\\xb5\xda\x
d2\xbb\xd0\xd0\xb4\xfa\xc2\xeb\xd1\xa7\xcf\xb0\android-sdk_r24.4.1-windows\sdk
\platform-tools;E:\Python27;D:\tao\Android_The_First_Line_Code\android-sdk_
r24.4.1-windows\sdk\tools;D:\tao\Android_The_First_Line_Code\android-sdk_r2
4.4.1-windows\sdk\platform-tools;C:\Users\Administrator\Miniconda2;C:\User
s\Administrator\Miniconda2\Scripts;C:\Users\Administrator\Miniconda2\Libr
ary\bin;C:\Users\Administrator\AppData\Roaming\npm;D:\android-ndk-r8;’, 8
11, 812, ‘ordinal not in range(128)’)
Attempting to roll back.

Traceback (most recent call last):
File “C:\Users\Administrator\Miniconda2\lib\site-packages\conda\exceptions
.py”, line 632, in conda_exception_handler
return_value = func(*args, **kwargs)
File “C:\Users\Administrator\Miniconda2\lib\site-packages\conda\cli\main.p
y”, line 134, in _main
exit_code = args.func(args, p)
File “C:\Users\Administrator\Miniconda2\lib\site-packages\conda\cli\main_i
nstall.py”, line 80, in execute
install(args, parser, ‘install’)
File “C:\Users\Administrator\Miniconda2\lib\site-packages\conda\cli\instal
l.py”, line 357, in install
execute_actions(actions, index, verbose=not context.quiet)
File “C:\Users\Administrator\Miniconda2\lib\site-packages\conda\plan.py”,
line 830, in execute_actions
execute_instructions(plan, index, verbose)
File “C:\Users\Administrator\Miniconda2\lib\site-packages\conda\instructio
ns.py”, line 247, in execute_instructions
cmd(state, arg)
File “C:\Users\Administrator\Miniconda2\lib\site-packages\conda\instructio
ns.py”, line 108, in UNLINKLINKTRANSACTION_CMD
txn.execute()
File “C:\Users\Administrator\Miniconda2\lib\site-packages\conda\core\link.
py”, line 297, in execute
rollback_excs,
CondaMultiError: ‘ascii’ codec can’t decode byte 0xb9 in position 811: ordin
al not in range(128)

解决办法:
打开C:\Users\Administrator\Miniconda2\Lib\site-packages\conda\core\link.py,添加如下代码:

if sys.getdefaultencoding() != 'gbk':    reload(sys)    sys.setdefaultencoding('gbk')

保存,再运行,ok没有错误提示了。
或者你的编码集环境跟我不一样,可以尝试:

import sysdefault_encoding = 'utf-8'if sys.getdefaultencoding() != default_encoding:    reload(sys)    sys.setdefaultencoding(default_encoding)

或者:

if sys.getdefaultencoding() != 'gbk':    reload(sys)    sys.setdefaultencoding('gb18030')
原创粉丝点击