全部速查表Python 開發

conda

Conda 24+

Conda CLI 命令快速參考:環境管理、套件安裝/搜尋、channels、lockfile、設定、清理——附常用參數與實作範例。

40 條命令

說明

conda --version

印出 conda 版本、發佈日期與使用的 Python 直譯器。

conda --version
conda info

顯示平台、Python 版本、環境目錄、channel URL 與設定的套件快取。

--envs;--json;--all

conda info --envs
conda help

列出所有 conda 子指令。

conda help
conda help <subcommand>

顯示單一子指令的完整旗標與說明。

conda help install

更新

conda update conda

把 conda 本身更新到當前 channel 上的最新版本。

-n <env>;--all

conda update conda
conda update --all

把當前環境的所有套件升級到最新可用版本。

-n <env>;--no-pin;--strict-channel-priority

conda update --all

環境

conda create -n <name>

建立新的空環境,命名為 `<name>`(Python 版本預設取自 base 直譯器)。

python=<ver>;-y 對提示回答 yes;--clone <env>;--file <env.yml>;-p <path>

conda create -n py-data python=3.12 -y
conda create -n <name> python=<ver>

建立鎖定特定 Python 版本的環境。

conda create -n py311 python=3.11 -y
conda env create -f <env.yml>

從 YAML 規格檔建立環境——最可重現的環境共享方式。

-n <name>;-p <path>;--prune;--json

conda env create -f environment.yml
conda env update -f <env.yml> --prune

從 YAML 規格檔更新既有環境;`--prune` 會移除不再列出的套件。

conda env update -f environment.yml --prune
conda env export > environment.yml

把當前環境匯出為 YAML 檔(預設不含 build string——加上 `--no-builds` 可跨平台移植)。

--no-builds;--from-history;--json;--channel-priority strict

conda env export --from-history > environment.yml
conda activate <name>

依名稱啟用環境(或以 `conda activate <path>` 用路徑啟用)。Windows 在 cmd.exe 中用 `activate <name>`。

<name>;<path>

conda activate py-data
conda deactivate

離開當前環境並回到 base。

conda deactivate
conda env list

列出所有 conda 環境及其位置。當前環境會以 `*` 標示。

-v 路徑在 `~/.conda/envs` 下;--json

conda env list
conda env remove -n <name>

徹底刪除環境。

-n <name>;-p <path>;--all;-y

conda env remove -n old-proj -y
conda env config vars set VAR=value

設定在環境啟用時自動套用的環境變數。

-n <name>;-p <path>

conda env config vars set -n py-data CUDA_VISIBLE_DEVICES=0
conda rename -n <old> <new>

重新命名環境(複製到新名稱並移除舊的)。

-n <old> <new>;-p <path> <new_path>;-d 試跑

conda rename -n py-data py-ml

套件

conda install <pkg>

把套件安裝到當前(或 `-n` 指定)的環境。

-n <env>;-p <path>;-c <channel>;-y;--update-deps;--force-reinstall;--no-deps

conda install -n py-data numpy pandas
conda install -c conda-forge <pkg>

從 conda-forge 社群 channel 安裝(比預設 channel 更豐富)。

conda install -c conda-forge nodejs
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

從 PyTorch channel 安裝支援 GPU 的 PyTorch。

conda install pytorch-cuda=12.1 -c pytorch -c nvidia
conda install --file <requirements.txt>

透過 conda 安裝 `pip` 相容 requirements 檔中列出的所有套件。

conda install --file requirements.txt
conda search <pkg>

在設定的 channels 中搜尋套件;顯示版本、build string 與 channel。

-c <channel>;--info 顯示套件詳細資訊;--platform;--json

conda search 'numpy>=2.0'
conda list

列出當前環境已安裝的所有套件,含 build 與 channel。

-n <env>;-p <path>;--json;--export;--revisions 顯示歷史

conda list --export > pkglist.txt
conda list --revisions

顯示 `install/update/remove` 動作的歷史——搭配 `conda install --revision <N>` 可回滾。

conda list --revisions
conda install --revision <N>

把環境回滾到修訂版本 `<N>`(參見 `conda list --revisions`)。

conda install --revision 3
conda remove <pkg>

解除安裝套件以及不再需要的依賴。

-n <env>;-p <path>;-y;--all;--force

conda remove -n py-data scipy -y

Channels

conda config --add channels <ch>

把 channel 加入 `.condarc`(預設最高優先權排最後——可用 `--prepend` 反轉)。

-c <channel>;--prepend;--force

conda config --add channels conda-forge --prepend
conda config --remove channels <ch>

從 `.condarc` 移除 channel。

conda config --remove channels conda-forge
conda config --show channels

印出當前的 channel 優先權清單。

--json;--system;--env

conda config --show channels
conda config --set channel_priority strict|flex|disabled

控制 channel 之間如何解決衝突。`strict`(Conda 23 起預設)= 最高優先權的 channel 完全勝出。

conda config --set channel_priority strict

設定

conda config --show

印出合併後的設定:~/.condarc + 系統 + 環境範圍 + CLI 覆寫。

--all;--json;--source;-v

conda config --show | grep -i ssl
conda config --set <key> <value>

設定任何可在 `.condarc` 寫入的設定鍵。

conda config --set auto_activate_base false
conda config --describe <key>

顯示某個設定鍵的所有允許值與預設值。

conda config --describe channel_priority
conda config --write-default

把預設的 `.condarc` 寫入使用者家目錄(會直接覆寫,不提示)。

conda config --write-default

快取/清理

conda clean --all

移除 tarball、快取套件、lockfile 與索引快取以釋放磁碟空間。

-y;--packages;--index-cache;--tarballs;--locks;--source-cache

conda clean --all -y
conda clean --packages

移除已快取的 `.tar.bz2`/`.conda` 壓縮檔(可大幅節省磁碟空間)。

conda clean --packages -y
conda clean --index-cache

移除已快取的 channel 索引。下次指令會重新下載索引。

conda clean --index-cache -y

建置

conda build <recipe>

從 recipe 目錄建置 conda 套件(骨架:conda skeleton pypi <name>)。

<recipe>;--no-test;--no-build-id;-c <channel>;--output

conda build recipes/numpy

雜項

conda run -n <env> <cmd>

在環境內執行指令而不啟用——適合 CI 腳本與 cron 工作。

-n <env>;-p <path>;--cwd <dir>

conda run -n py-data pytest -x
conda doctor

診斷常見問題:環境狀態不一致、channel 優先權、lock 檔案等。

-n <env>;--verbose;--fix-checks

conda doctor

相關命令速查

關於 Conda

Conda 是開源的套件與環境管理工具,於 2012 年由 Continuum Analytics(現為 Anaconda Inc)首次發佈。當初是為 Python 資料科學棧而設計,因為 pip + virtualenv 無法以自帶方式安裝 NumPy、SciPy、scikit-learn、PyTorch 等科學計算函式庫——這些套件捆綁了編譯好的 C/Fortran/CUDA 二進位檔,pip 難以可靠地解析。Conda 為 Python、R、Lua、Ruby 與大多數其他語言執行環境提供預編譯套件,並把它們安裝到隔離環境中。目前穩定版線為 Conda 24+。較新的 libmamba 求解器(`conda-libmamba-solver`,自 Conda 23.10 起成為預設)以 mamba C++ 函式庫重新實作依賴解析,把解析時間從數分鐘縮短到毫秒。常見的姊妹工具包括 `mamba`(可直接替代的 CLI)、`micromamba`(用於 CI/Docker 的單一執行檔安裝器)與 `pixi`(以 Rust 撰寫的下一代 conda + lockfile 管理工具)。Conda 採 GPLv3 授權;Anaconda 發行版為大型組織加入商業層級。預設情況下 Conda 從 `repo.anaconda.com` 與其他設定的 channels 下載;不會上傳你的程式碼。

速查頁版本 1.0.0