從 Anaconda 的 defaults
管道轉換
希望從 Anaconda 的 defaults
(即那些託管在 https://repo.anaconda.com/pkgs 下的) 管道轉換的使用者應謹慎操作,以免破壞他們的工作環境。首先要意識到的是,在 2024 年,conda-forge 與 defaults
中提供的套件不相容。通常,conda-forge 上的套件會需要特定套件的較新版本,或者可能只是以不同的方式組織。作為社群,我們唯一可以支援的工作流程是 conda-forge 管道優先於所有其他管道的工作流程。
如果您正在使用 Miniconda 或 Anaconda 發行版,並希望轉為使用 conda-forge,我們概述了兩種工作流程。第一種允許您在不卸載先前安裝的情況下嘗試 conda-forge 的套件,第二種涉及卸載 Miniconda 或 Anaconda 發行版,然後安裝 Miniforge。
在隔離環境中嘗試 conda-forge
-
建立一個依賴項非常少的 conda 環境。以下命令將僅使用來自
conda-forge
的套件來安裝 Python 3.11。您可以根據自己的喜好調整 Python 的版本conda create --name conda-forge-env python=3 --channel conda-forge --override-channels
-
啟用您的環境,並為該特定環境新增具有嚴格優先權的
conda-forge
conda activate conda-forge-env
conda config --env --add channels conda-forge
# optional:
# conda config --env --remove channels defaults
conda config --env --set channel_priority strict -
檢查您的 conda 環境的設定
conda config --show
這應該報告
conda-forge
是您列表中最頂層的管道。 -
您現在可以使用如下命令
conda install my_desired_package_from_conda_forge
卸載 Anaconda 並安裝 Miniforge
如果您已準備好完全切換到 conda-forge,我們建議卸載 Anaconda / Miniconda,然後安裝 Miniforge。以下步驟是關於如何進行此操作的指南,同時備份您的工作和環境。
-
清理您現有的 conda 安裝。這應該會從您的 Anaconda / Miniconda 安裝中移除未使用的檔案,並使備份檔案更小。
# The conda build purge command may fail if you don't have conda-build installed.
# this is expected
conda build purge
conda clean --all -
建立 conda 安裝的 zip 壓縮檔。使用您最喜歡的圖形化工具,右鍵點擊 Anaconda / Miniconda 安裝資料夾。檢查您是否在安裝根目錄之外建立了其他環境,方法是執行
conda info --envs
。如有必要,也備份這些環境。-
或者,如果需要,您也可以為所有環境匯出鎖定檔
conda list --explicit --md5 --prefix /path/to/environment-name > environment-name.txt
請注意,這些鎖定檔僅包含 conda 套件。如果您在上面
pip install
了套件,則這些套件將不會被捕獲。請查看conda-lock
以了解這些用例。 -
另一個有用的檔案是為每個環境建立輸入
environment.yml
conda env export --from-history --prefix --prefix /path/to/environment-name > environment-name.yml
此檔案不會捕獲您環境中的確切狀態。相反,它會告訴
conda
要尋找哪些套件,然後找到滿足請求的解決方案。
-
-
在 Windows 上,使用系統控制台中建議的卸載程式。在 Linux 和 macOS 上,您可以刪除名為
anaconda3
或miniconda3
的資料夾(通常位於您的主目錄中)。 -
在您的主目錄中找到名為
.condarc
的檔案,並將其備份到安全的地方。然後,刪除舊的.condarc
檔案。當我們安裝 Miniforge 時,將會建立一個新的專用於 conda-forge 的檔案。 -
在 Linux 和 macOS 上,您的 shell 設定檔 (
~/.bashrc
) 可能包含先前安裝的初始化程式碼。找到以# >>> conda initialize >>>
註解括起來的區塊並刪除它。 -
從 Miniforge 下載 頁面下載並安裝與您的平台相符的 Miniforge 安裝程式。
-
安裝完成後,您應該能夠在 Windows 上使用
Miniforge3 Prompt
,或在 Linux 和 macOS 上使用終端機,來執行命令conda info
請注意,conda-forge 是具有最頂層優先權的管道。
您現在應該可以使用 conda-forge 套件了。
歷史註記
直到大約 2021 年,conda-forge 與 Anaconda 的預設管道保持著很強的相容性。然而,正如 2021 年 9 月宣布 的那樣,我們決定最終擺脫對 Anaconda 的 defaults
套件的依賴。多年來,這導致 conda-forge 和 Anaconda 的 defaults
管道之間的套件版本和名稱出現更多差異。
在 2024 年,不再支援從 Anaconda 的管道和 conda-forge 共同安裝套件的工作流程。
若要檢查您是否從這兩個來源安裝了套件,請使用命令
conda list --show-channel-urls
所有套件都應指定它們是從 conda-forge 管道安裝的。在 2024 年,仍然存在一些錯誤,其中 conda 套件會聲稱它們是從 PyPI 安裝的,即使它們實際上是從 conda-forge 安裝的。