[英]pip not properly resolving child/grandchild dependencies
我有一個像這樣工作的模塊依賴樹(→ 表示依賴):
a → b, c
b → ruamel.yaml >= 0.16.5
c → ruamel.yaml < 0.16.6, >=0.12.4
我很清楚 ruamel.yaml 0.16.5
將正確解決這兩個依賴項。 但是,當我pip install a
,我得到以下日志:
Collecting ruamel.yaml>=0.16.5
Downloading ruamel.yaml-0.16.10-py2.py3-none-any.whl (111 kB)
然后后來:
ERROR: <package c> 0.4.0 has requirement ruamel.yaml<0.16.6,>=0.12.4, but you'll have ruamel-yaml 0.16.10 which is incompatible.
所以 pip 在選擇安裝哪些包時完全忽略了孫子依賴。 但它意識到它最終搞砸了。 為什么 pip 沒有在這里選擇正確的包。 有沒有辦法幫助它更好地工作?
我相信這是目前正在解決的一個眾所周知的問題。 一周前的消息: http : //pyfound.blogspot.com/2020/03/new-pip-resolver-to-roll-out-this-year.html
同時,可以采取一些措施來嘗試緩解此類問題:
a
可以在b
之前列出c
)requirements.txt
或constraints.txt
文件今天似乎已經可以測試pip未來的依賴解析器了:
path/to/python -m pip install --unstable-feature=resolver ...
在某種程度上,似乎也可以通過pip check
命令在當前版本或pip 中測試此依賴項解析器。
關於該主題的更多參考資料:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.