package 不能安裝時的排解過程

pip install -r REQUIREMENTS.txt 時可能會遇到錯誤,例子如下:

無法安裝 patchwork: Imgur

這時重新試著直接 pip install patchwork,會得到和上面一樣的錯誤 於是可以接著往上面的 output 看看,有沒有可能在 install 哪個 package 時遇到了問題 發現:安裝 paramiko 的時候一直在往下找合適的版本,可能和其他 package 有版本衝突的問題 Imgur

這時再嘗試直接 pip install paramiko,還是會尋找較低的版本來安裝 Imgur

接下來嘗試直接指定安裝版本,查看是與哪個 package 版本相衝 發現:原來是因為 cryptography 這個 package 沒先安裝成功,導致了安裝 paramiko 失敗! Imgur

於是目前可以確定問題出在 cryptography 這裡,先嘗試 pip install cryptography 和指定版本看看,會發現仍然無法安裝 Imgur


從上面到目前為止寫出了查出有問題的 package 的過程,接下來就是要去確認這個 package 究竟出了什麼問題。出問題的原因有百百種,可能是因為舊版本拿掉了、版本更新、新版本與其他 package 不相容…等,須以耐心和時間一一確認,修正完成後再試試看是否已經可以成功安裝。


若以上面講解排解過程的這個例子來說:

這個 package 的問題出在之前上傳到 pypi 後沒將它加入白名單(說明:如何為公司套件建立 wheel 檔並上傳到公司 PyPI 第六點)

因此可以先執行指令將 cryptography 加入 devpi 白名單 Imgur

最後再一次嘗試 pip install cryptography ,就可以順利安裝 Imgur

此時再重新執行一次 pip install -r REQUIREMENTS.txt 也可以完成安裝

Was this article helpful? Votes: 0
Article details:
Published date: 10/05/2023 3:11AM
Last updated: 10/05/2023 3:38PM (Jolin - jolin.yang@nuwainfo.com)
Share article: 
Author: Jolin (jolin.yang@nuwainfo.com)