[英]Cannot find package on Anaconda navigator after installing it using pip
我按照這里的說明進行操作: 在 Anaconda Navigator 上找不到 package。 接下來做什么?
我在 Anaconda 導航器上單擊從環境中打開終端,然后在終端中使用“pip3 install lmfit”。 但是在使用 pip3 安裝了 lmfit package 之后,我仍然無法在 conda 列表中找到它。 我應該怎么辦?
在提出這個問題時, pip
的 Conda 版本才剛剛開始包含一個pip3
入口點,因此pip3很可能指的是pip3
的非 Conda 版本,這就是安裝 ZEFE070A8E604A67C83 的地方。 嘗試檢查which pip3
以找出它的去向。
通常,最好使用 Conda 在 Conda 環境中安裝軟件包,在這種情況下,package 可通過 Conda Forge 頻道獲得:
conda install -c conda-forge lmfit
與M. Newville 的回答相反,這個更喜歡 Conda 包的建議並不是為了讓 Conda 開發人員受益,而是幫助用戶避免創建不穩定或不可重現的環境的經驗法則。 有關混合pip install
和 conda conda install
的風險的更多信息可以在帖子 “在 Conda 環境中使用 Pip ”中找到。
盡管如此,並非所有軟件包(特別是lmfit
)都可以在默認存儲庫中找到,並且由於需要借助第三方渠道而使安裝變得復雜的評論是一個好點。 事實上,由於第三方可以自由使用不同的構建堆棧,因此混合由 Anaconda 構建的包和來自 Conda Forge 的包存在已知問題。 但是,這些問題往往很少見,並且僅限於已編譯的代碼。 此外,將受信任的通道添加到配置中並設置通道優先級啟發式地解決了該問題。
至於使用第三方渠道的風險,任意 Anaconda 雲用戶渠道是有風險的:一個人應該只從您信任的渠道獲取包(就像安裝其他任何東西一樣)。 特別是 Conda Forge 享有盛譽,所有原料均可在 GitHub上免費獲得。 此外,在 Conda Forge 上構建的許多 Python package 只是圍繞 package 的 PyPI 構建的包裝。
有時無法避免使用 PyPI。 當必須求助於從 PyPI 安裝時,最好從激活環境使用pip
入口點,而不是pip3
,因為只有pip3
pip
例如,
conda activate my_env
pip install lmfit
同樣,按照 “在 Conda 環境中使用 Pip ”中的建議,應該在假設環境中對conda (install|upgrade|remove)
的任何后續調用可能具有未定義的行為的情況下進行操作。
為了完整起見,我將指出與建議一致的使用 Conda 的穩定方法是將 Conda 限制為環境創建的角色,並將pip
用於所有 package 安裝。
這種策略可能對只使用 Python 的用戶來說負擔最小,他們不想處理諸如查找與 Conda 等效的 package 名稱或搜索非默認頻道之類的事情。 然而,它的適用性似乎僅限於 Python 環境,因為其他庫可能仍需要求助於conda install
。
[1]: Conda Forge 和 Anaconda 在版本 20.2 之后始終包括pip3
模塊的pip
入口點。
安裝一個純Python package,比如lmfit
用正確版本的pip install lmfit
應該沒問題。
建議Conda first
,以使conda
維護者和打包者的生活更輕松,而不是用戶的生活。 FWIW,我維護這兩種軟件包,沒有理由推薦 conda install conda install lmfit
而不是pip install lmfit
。
事實上, lmfit
不在默認的 anaconda 存儲庫中,因此安裝它需要轉到第三方 conda 通道,例如conda-forge
。 這會增加 conda 環境的復雜性和風險。
真的, pip install lmfit
應該沒問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.