簡體   English   中英

pip 如何解析 install_requires 中的條目,尤其是關於已經從 conda 安裝的軟件包?

[英]How does pip resolve entries in install_requires especially in regards to already installed packages from conda?

在我的項目中,我依賴於 python package,它只能通過 conda 而不是 pip 獲得。 我知道 pip 找不到它,因此如果尚未安裝,則無法安裝它。 但我仍然想將它添加到install_requires所以至少安裝失敗並且用戶知道缺少什么。

事實上,我試過了,對於這個特定的依賴,pip 總是說它沒有安裝,即使實際上安裝了正確的版本。 我還依賴於 numpy,它恰好也已由 conda 安裝,並且由 pip 找到(+ 其他依賴項相同)

所以我對分辨率的工作原理有點困惑,pip 如何確定是否安裝了 package?

據我所知, pip檢查是否存在上述 package 的egg-infodist-info文件夾以及文件夾名稱的版本。 示例: numpy-1.19.2.dist-info對於dist-info ,文件夾的簡單存在是不夠的。 它還必須包含一個元數據文件。 但是它可以是空的。

無論如何,結論是,如果 package 在安裝時未創建這些文件夾之一, pip看不到它已安裝,因此將由於缺少要求而失敗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM