Python報(bào)錯(cuò)ERROR:Command errored out with exit status 1:問(wèn)題
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è)參考,也希望大家多多支持腳本之家。
- Python報(bào)錯(cuò):KeyError: ‘xxx‘的原因及解決方案
- Python報(bào)錯(cuò)ModuleNotFoundError:No?module?named‘re’問(wèn)題解決
- Python?報(bào)錯(cuò)ImportError:?No?module?named?***的問(wèn)題解決
- Python報(bào)錯(cuò)ModuleNotFoundError的10種解決方案
- Python報(bào)錯(cuò)TypeError: ‘xxx’ object is not subscriptable
- 解決Python報(bào)錯(cuò):PermissionError: [Errno 13] Permission denied: ‘xxx‘
相關(guān)文章
使用Python Tkinter實(shí)現(xiàn)剪刀石頭布小游戲功能
這篇文章主要介紹了使用Python Tkinter實(shí)現(xiàn)剪刀石頭布小游戲功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10
Python機(jī)器學(xué)習(xí)算法庫(kù)scikit-learn學(xué)習(xí)之決策樹(shù)實(shí)現(xiàn)方法詳解
這篇文章主要介紹了Python機(jī)器學(xué)習(xí)算法庫(kù)scikit-learn學(xué)習(xí)之決策樹(shù)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了決策樹(shù)算法的原理及使用sklearn庫(kù)實(shí)現(xiàn)決策樹(shù)的相關(guān)操作技巧,需要的朋友可以參考下2019-07-07
Python 矩陣轉(zhuǎn)置的幾種方法小結(jié)
今天小編就為大家分享一篇Python 矩陣轉(zhuǎn)置的幾種方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
Python+Appium自動(dòng)化操作微信的教程分享
Appium?是一個(gè)開(kāi)源的自動(dòng)化測(cè)試工具,支持?Android、iOS?平臺(tái)上的原生應(yīng)用,支持?Java、Python、PHP?等多種語(yǔ)言。本文主要介紹了Python+Appium自動(dòng)化操作微信的教程,希望對(duì)大家有所幫助2023-01-01
在Python中實(shí)現(xiàn)替換字符串中的子串的示例
今天小編就為大家分享一篇在Python中實(shí)現(xiàn)替換字符串中的子串的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
Python創(chuàng)建Excel表和讀取Excel表的基本操作
這篇文章主要介紹了Python創(chuàng)建Excel表和讀取Excel表的基本操作,文中通過(guò)代碼示例和圖文結(jié)合的方式講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-07-07

