欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python報(bào)錯(cuò)ERROR:Command errored out with exit status 1:問(wèn)題

 更新時(shí)間:2025年07月30日 10:16:11   作者:是杰夫呀  
文章解決Python3安裝repl包時(shí)因編碼問(wèn)題導(dǎo)致的UnicodeDecodeError,通過(guò)修改setup.py文件編碼為UTF-8并重新打包安裝,成功規(guī)避GBK與UTF-8兼容性沖突,強(qiáng)調(diào)定位錯(cuò)誤原因的重要性

2020.08.24更新:似乎產(chǎn)生這個(gè)的原因,就是因?yàn)镻ython 2和Python 3默認(rèn)的編碼格式不一樣。

Python 2是GBK,而Python 3是UTF-8。所以有些老舊的包在安裝時(shí),會(huì)產(chǎn)生編碼的問(wèn)題。

  •  因?yàn)镻ycharm最近老是彈出RELP COMMUNICATIONS,非常影響代碼運(yùn)行的效率。
  • REPL(Read-Eval-Print Loop),翻譯過(guò)來(lái)就是“讀取-求值-輸出”循環(huán),是一個(gè)簡(jiǎn)單的交互式的編程環(huán)境。
  • 聽(tīng)起來(lái)似乎挺有用,所以想直接在Pycharm中pip這個(gè)REPL。

結(jié)果報(bào)錯(cuò):

ERROR: Command errored out with exit status 1:

主要錯(cuò)誤顯示在最后幾行:

UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 1246: illegal multibyte sequence
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

定位問(wèn)題

UnicodeDecodeError,表明是編碼的問(wèn)題。

具體就是在setup.py文件中的第10行和第17行,讀取文件的編碼方式為GBK,而并非UTF-8,因此報(bào)錯(cuò)使得無(wú)法安裝。

更新成功解決的方法

由于不能使用 Pycharm 里的 Project Interpreter。

解決思路:下載源碼的包,進(jìn)行代碼改動(dòng)之后install。

1、找到原始package的文件,找到報(bào)錯(cuò)的那一行。

REPL的官方地址是:https://github.com/mbr/repl。查看報(bào)錯(cuò)的setup文件的源碼。

定位問(wèn)題:源碼中沒(méi)有指定open時(shí)的編碼方式,使得默認(rèn)為gbk編碼。

報(bào)錯(cuò)的源碼:

def read(fname):
    return open(os.path.join(os.path.dirname(__file__), fname)).read()

2、下載原始包文件后,解壓找到setup.py文件,修改文件里的這一行,即加上encoding='utf-8',保存后打包為新的安裝包。

修改后的代碼:

def read(fname):
    return open(os.path.join(os.path.dirname(__file__), fname),encoding='utf-8').read()

3、輸入 pip install repl-1.0.tar.gz,用新的安裝包來(lái)進(jìn)行install。成功!

這個(gè)問(wèn)題困擾了我一周,后來(lái)發(fā)現(xiàn)其實(shí)解決方法非常簡(jiǎn)單!

解決問(wèn)題最重要的是要定位報(bào)錯(cuò)產(chǎn)生的原因,然后根據(jù)原因一步步找到解決的方法。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論