Python報錯ERROR:Command errored out with exit status 1:問題
2020.08.24更新:似乎產(chǎn)生這個的原因,就是因為Python 2和Python 3默認(rèn)的編碼格式不一樣。
Python 2是GBK,而Python 3是UTF-8。所以有些老舊的包在安裝時,會產(chǎn)生編碼的問題。
- 因為Pycharm最近老是彈出RELP COMMUNICATIONS,非常影響代碼運行的效率。
- REPL(Read-Eval-Print Loop),翻譯過來就是“讀取-求值-輸出”循環(huán),是一個簡單的交互式的編程環(huán)境。
- 聽起來似乎挺有用,所以想直接在Pycharm中pip這個REPL。
結(jié)果報錯:
ERROR: Command errored out with exit status 1:

主要錯誤顯示在最后幾行:
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.

定位問題
UnicodeDecodeError,表明是編碼的問題。
具體就是在setup.py文件中的第10行和第17行,讀取文件的編碼方式為GBK,而并非UTF-8,因此報錯使得無法安裝。
更新成功解決的方法
由于不能使用 Pycharm 里的 Project Interpreter。
解決思路:下載源碼的包,進(jìn)行代碼改動之后install。
1、找到原始package的文件,找到報錯的那一行。
REPL的官方地址是:https://github.com/mbr/repl。查看報錯的setup文件的源碼。

定位問題:源碼中沒有指定open時的編碼方式,使得默認(rèn)為gbk編碼。
報錯的源碼:
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,用新的安裝包來進(jìn)行install。成功!

這個問題困擾了我一周,后來發(fā)現(xiàn)其實解決方法非常簡單!
解決問題最重要的是要定位報錯產(chǎn)生的原因,然后根據(jù)原因一步步找到解決的方法。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用Python Tkinter實現(xiàn)剪刀石頭布小游戲功能
這篇文章主要介紹了使用Python Tkinter實現(xiàn)剪刀石頭布小游戲功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10
Python機(jī)器學(xué)習(xí)算法庫scikit-learn學(xué)習(xí)之決策樹實現(xiàn)方法詳解
這篇文章主要介紹了Python機(jī)器學(xué)習(xí)算法庫scikit-learn學(xué)習(xí)之決策樹實現(xiàn)方法,結(jié)合實例形式分析了決策樹算法的原理及使用sklearn庫實現(xiàn)決策樹的相關(guān)操作技巧,需要的朋友可以參考下2019-07-07
Python 矩陣轉(zhuǎn)置的幾種方法小結(jié)
今天小編就為大家分享一篇Python 矩陣轉(zhuǎn)置的幾種方法小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
Python創(chuàng)建Excel表和讀取Excel表的基本操作
這篇文章主要介紹了Python創(chuàng)建Excel表和讀取Excel表的基本操作,文中通過代碼示例和圖文結(jié)合的方式講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-07-07

