Python报错 ERROR:Command errored out with exit status 1

最近在学习随机矩阵理论RMT(Random Matrix Theory),因为自己本身数学不太好,理论学习了一通,讲真,还是没懂说什么。。所以想着先上代码吧,然后在下载随机矩阵理论的Python包——scikit-rmt时,出现了报错:“ERROR:Command errored out with exit status 1”。


错误主要看最后三行。

File "D:\USER_C~1\pip-install-ljn4k2b2\scikit-rmt_74fea7849fe144b1b84c92ecd80beaa7\setup.py", line 11, in <module>
LONG_DESCRIPTION = f.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0x93 in position 8536:illegal multibyte sequence

定位问题:

UnicodeDecodeError,表明是编码的问题。

具体在setup.py文件中的第11行,读取文件的编码方式为GBK,而并非UTF-8

解决办法:

  1. 从官方地址(https://github.com/AlejandroSantorum/scikit-rmt)找到原始package的文件,查看报错的setup.py文件源码。

    源码中第11行没有指定open时的编码方式,默认为gbk编码。
  2. 下载原始包文件,解压找到setup.py文件,修改文件的第11行,即加上encoding="utf-8",保存后压缩为新的安装包。
  3. 把新的安装包放在项目目录下,在终端输入命令:pip install scikit-rmt-main.tar.gz。这里有一点需要注意:你从官方地址下载的原始package文件是zip,命令需要的是tar.gz文件,需要用7-Zip进行压缩。

    成功了。遇到问题最重要的是先定位报错产生的原因,然后根据原因一步步找到解决的方法。

来源:剪断红线,替代月老

物联沃分享整理
物联沃-IOTWORD物联网 » Python报错 ERROR:Command errored out with exit status 1

发表评论