[英]poetry can't find version of dependency even though it exists
在 poetry 中將我的 python 版本從 3.7 升級到 3.8 時,重新安裝所有依賴項失敗並出現以下版本:
ERROR: No matching distribution found for...
該版本的發行版可在 pypa 獲得,並且通常是最新版本。
簡單地刪除有問題的 package 並不能解決問題,因為 poetry 可能會與其他包一起失敗。 經過一些調查,似乎 poetry 並沒有使用 pip3 在下面安裝,而是使用 pip2.7。
實際上,棄用警報支持這一點,如果我嘗試使用 pip(全局或其他方式)而不是 pip3 安裝相同版本,則該錯誤始終可重現。
這個問題令人沮喪,單獨刪除 venv 似乎無濟於事。 我該如何解決這個本來就不應該存在的依賴問題呢?
這里有兩個相互影響的問題。 1.當您修改 python 版本時,詩歌似乎一直在破壞 venv 的升級。 根據 finswimmer 的說法,升級應該為新的 python 版本創建一個新的虛擬環境,但是當詩歌使用錯誤的pip
版本或忘記它正在使用的虛擬環境時,這個過程可能會失敗。 2. 詩歌使用pip
沒有任何問題 - 無法覆蓋和強制使用 pip3。
這是我用來解決此問題的提煉步驟
rm -rf `poetry env list --full-path`
poetry install
source "$( poetry env list --full-path )/bin/activate"
poetry install
有時, import <NAME>
與pip install <NAME>
/ poetry add <NAME>
不同。
例子:
import icd10
安裝/詩歌:
pip install icd10-cm
poetry add icd10-cm
導入名稱與安裝名稱相同是慣例——但情況並非總是如此。
這是因為install
名稱必須是唯一的,但導入名稱實際上不必是唯一的,因為我們可以添加別名:
import icd10 as foo
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.