[英]Packages listed in install_requires ignored when installed with pip
[英]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-info
或dist-info
文件夾以及文件夾名稱的版本。 示例: numpy-1.19.2.dist-info
對於dist-info
,文件夾的簡單存在是不夠的。 它還必須包含一個元數據文件。 但是它可以是空的。
無論如何,結論是,如果 package 在安裝時未創建這些文件夾之一, pip
看不到它已安裝,因此將由於缺少要求而失敗。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.