跳到內容

Conda 安裝與配置指南

Windows 10/11 Miniconda Anaconda

Conda 是一個跨平台的套件與環境管理系統,它同時扮演兩個角色:幫你安裝套件(像 pip),也幫你管理獨立的 Python 環境(像 venv)。更重要的是,它不只能管理 Python 套件,C/C++ 函式庫、CUDA runtime、甚至 R 語言套件都在範圍內。

這篇指南涵蓋安裝、配置、自訂與除錯。


你會在官網看到兩個選項:AnacondaMiniconda。它們都包含 conda 這個核心工具,差異在於「內含多少東西」。

Anaconda

全套餐,預裝 300+ 套件(NumPy, Pandas, Jupyter, Scikit-learn…),開箱即用。

  • 安裝大小:約 4.4 GB
  • 包含 Anaconda Navigator(GUI 管理介面)
  • 適合:初學者、不想煩惱套件安裝的人

Miniconda

個人推薦使用。

最小安裝,只有 conda + Python + 基本依賴,乾淨起步。

  • 安裝大小:約 80 MB
  • 純 CLI 操作
  • 適合:有經驗的開發者、CI/CD、容器環境、磁碟空間有限的場景、避開 Anaconda 授權問題
比較項目AnacondaMiniconda
安裝大小~1.1 GB~90 MB
預裝套件300+ 資料科學常用套件僅 conda + Python
GUI 管理Anaconda Navigator
適用場景快速上手、教學環境精確控制、生產環境
自訂彈性較低(預裝大量你可能不需要的套件)最高(需要什麼安裝什麼)

前往 Miniconda 官方下載頁面,選擇 Windows 64-bit 的 Miniconda .exe 安裝檔。

  1. 執行安裝程式

    雙擊下載的 Miniconda3-latest-Windows-x86_64.exe,點選 Next

  2. 接受授權條款

    閱讀並接受 License Agreement。

  3. 選擇安裝類型

    • Just Me (recommended): 只為當前使用者安裝,不需管理員權限。
    • All Users: 系統級安裝,需要管理員權限。

    除非有明確的多使用者需求,選擇 Just Me 即可。

  4. 選擇安裝路徑

    預設路徑為 C:\Users\<你的使用者名稱>\miniconda3

    若要安裝到其他位置(如 D 槽),在此步驟修改路徑。詳見下方「安裝至 D 槽」段落。

  5. 進階選項

    安裝程式會詢問兩個選項:

    選項建議說明
    Create start menu shortcuts勾選在開始功能表建立 Anaconda Prompt 捷徑
    Add Miniconda3 to my PATH不勾選官方不建議:conda binaries 路徑包含其他套件二進位檔,永久加入 PATH 可能與其他軟體衝突。建議透過 Anaconda Prompt 或 conda init 使用
    Register Miniconda3 as default Python視情況若系統上沒有其他 Python,可以勾選(預設已勾選)
    Clear the package cache upon completion勾選安裝完成後執行 conda clean --all --force-pkgs-dirs,節省空間
  6. 完成安裝

    點選 Install,等待安裝完成後點選 Finish


安裝完成後,開啟 PowerShellAnaconda Prompt(從開始功能表搜尋),執行以下驗證指令:

conda 無效/指令找不到,見常見問題

Terminal window
# 查看 conda 版本
conda --version
# 查看完整環境資訊
conda info

預期輸出範例:

conda 24.x.x
active environment : base
active env location : D:\miniconda3
user config file : C:\Users\yourname\.condarc
populated config files : D:\miniconda3\.condarc
conda version : 24.x.x
platform : win-64
...

其中有兩個容易混淆的設定檔欄位。.condarc(conda run configuration)是 conda 的設定檔,採用 YAML 語法,用來控制 channel、預設路徑、行為偏好等所有 conda 設定。Conda 允許多個 .condarc 同時存在於不同位置:

欄位說明
user config file使用者層級的 .condarc,固定位於 C:\Users\<使用者名稱>\.condarc。即使檔案不存在也會顯示此路徑
populated config files實際有內容.condarc。安裝在 D 槽時,通常是 D:\miniconda3\.condarc

確認 conda 能正確建立獨立環境並安裝套件:

Terminal window
# 建立 Python 3.12 測試環境
conda create -n test_env python=3.12 -y
# 啟動環境
conda activate test_env
# 確認 Python 版本
python --version
# 安裝一個套件驗證
conda install numpy -y
# 快速測試
python -c "import numpy; print(f'NumPy {numpy.__version__} OK')"
# 測試完畢,清理
conda deactivate
conda remove -n test_env --all -y

許多 Windows 使用者的磁碟配置如下表:

磁碟用途特性
C 槽 (SSD)作業系統 + 核心程式容量較小(128–512 GB)、速度快
D 槽 (HDD/SSD)資料與開發工具容量較大(1 TB+)

Conda 的環境與套件快取會持續增長。一個 ML 專案的環境動輒 2–5 GB(尤其含 PyTorch、TensorFlow),多個專案下來很容易吃掉 C 槽空間。將 Conda 安裝至 D 槽可以:

  • 避免 C 槽空間不足影響系統穩定性
  • 方便重灌系統時保留開發環境
  • 讓環境與系統分離,維護更簡潔

使用 /D= 參數指定路徑(可先於 D 槽建立 miniconda3 資料夾):

Terminal window
Start-Process -FilePath ".\miniconda.exe" -ArgumentList "/S /D=D:\miniconda3" -Wait

安裝至 D 槽後的目錄結構如下:

  • 資料夾D:\
    • 資料夾miniconda3/ Conda 本體安裝目錄
      • 資料夾condabin/
      • 資料夾Scripts/
        • conda.exe
        • activate.bat
      • python.exe
      • 資料夾Lib/
      • 資料夾Library/
      • 資料夾envs/ 環境預設存放位置
        • 資料夾ml_project/
          • python.exe
          • 資料夾Lib/
        • 資料夾web_dev/
      • 資料夾pkgs/ 套件快取
      • .condarc

若你希望將環境與快取分離到 Miniconda3 目錄之外(例如多個 Conda 安裝共用環境,或想更細粒度管理磁碟空間),可在 .condarc 配置檔中設定:

.condarc
# 自訂環境存放路徑
envs_dirs:
- D:\conda_envs
# 自訂套件快取路徑
pkgs_dirs:
- D:\conda_pkgs

Channel(頻道)是 conda 套件的來源倉庫,本質上是一個存放了已編譯套件的遠端目錄(URL)。當你執行 conda install numpy 時,conda 會按照 channel 優先順序依序搜尋,找到第一個匹配的套件版本後下載安裝。

你可以把它想像成手機的 App Store:

概念類比
ChannelApp Store(套件來源)
conda install從 Store 下載 App
Channel priority優先從哪個 Store 搜尋
Channel維護者特色授權
defaultsAnaconda, Inc.穩定,預設 channel商用可能需付費授權
conda-forge社群維護套件數量最多,更新最快完全免費
pytorchPyTorch 團隊PyTorch 官方最新版免費
nvidiaNVIDIACUDA toolkit、cuDNN免費
Terminal window
# 查看目前的 channel 設定
conda config --show channels
# 新增 conda-forge 為最高優先
conda config --add channels conda-forge
# 設定嚴格優先模式(推薦)
conda config --set channel_priority strict
# 安裝時指定 channel(一次性)
conda install -c pytorch pytorch torchvision

嚴格優先模式 (strict) 是什麼?

channel 清單:
1. conda-forge ← 最高優先,先從這裡找
2. defaults ← conda-forge 找不到才來這裡
strict 模式下:若 conda-forge 有 numpy 1.26,defaults 有 numpy 1.27,
conda 仍會安裝 conda-forge 的 1.26,因為它在優先順序較高的 channel。

.condarc 是 conda 的全域設定檔,使用 YAML 語法。以下是常用設定的完整範例:

.condarc
# ── Channel 設定 ──
channels:
- conda-forge
- defaults
channel_priority: strict
# ── 路徑設定 ──
envs_dirs:
- D:\conda_envs
pkgs_dirs:
- D:\conda_pkgs
# ── 行為設定 ──
auto_activate_base: false # 是否自動啟動 base 環境(建議關閉)
auto_update_conda: true # 是否自動更新 conda
show_channel_urls: true # 安裝時顯示套件來源 channel

Terminal window
# 建立環境(指定 Python 版本)
conda create -n myenv python=3.12
# 建立環境至指定路徑(用 --prefix 取代 -n)
{/* conda create python=3.9 --prefix D:\Miniconda3\envs\python39 -y */}
# 從 YAML 檔建立環境
conda env create -f environment.yml
# 啟動 / 停用環境
conda activate myenv
conda deactivate
# 列出所有環境
conda env list
# 刪除環境
conda remove -n myenv --all
# 匯出環境(可重現的快照)
conda env export > environment.yml
# 僅匯出手動安裝的套件(跨平台更相容)
conda env export --from-history > environment.yml
Terminal window
# 安裝套件
conda install numpy pandas matplotlib
# 指定版本安裝
conda install python=3.11 numpy=1.26
# 從特定 channel 安裝
conda install -c conda-forge scikit-learn
# 更新套件
conda update numpy
# 更新所有套件
conda update --all
# 搜尋套件
conda search pytorch
# 移除套件
conda remove numpy
# 列出已安裝套件
conda list

A: 安裝時若未勾選「Add to PATH」,一般的 CMD 或 PowerShell 不會認得 conda 指令。

解決方案有兩種:

方法一:使用 conda init(推薦)

透過 Anaconda Prompt 執行一次即可,之後所有 PowerShell 都能使用 conda:

Terminal window
D:\miniconda3\Scripts\conda.exe init powershell

重新開啟 PowerShell 後生效。

方法二:手動加入 PATH 環境變數

conda init 無法正常運作,可手動將 conda 路徑加入系統 PATH:

  1. 在 Windows 搜尋輸入「環境變數」,開啟「編輯系統環境變數」

  2. 點選「環境變數」按鈕

  3. 在「使用者變數」或「系統變數」中找到 Path,按「編輯」

  4. 按「新增」,依序加入以下路徑(依你的實際安裝位置調整):

    D:\Miniconda3
    D:\Miniconda3\Library\bin
    D:\Miniconda3\Scripts
    D:\Miniconda3\condabin
  5. 連續按「確定」關閉所有視窗

  6. 重新開啟終端機,輸入 conda --version 驗證

Q: 環境啟動後顯示 CommandNotFoundError

Section titled “Q: 環境啟動後顯示 CommandNotFoundError?”

A: 常見於 PowerShell 安全政策阻擋了 conda 的初始化腳本。執行:

Terminal window
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

然後重新開啟 PowerShell。

Q: conda install 解析依賴極慢(Solving environment)?

Section titled “Q: conda install 解析依賴極慢(Solving environment)?”

A: 這是 conda 經典痛點。解決方案:

  1. 使用 libmamba solver(conda >= 22.11 已內建):
    Terminal window
    conda config --set solver libmamba
  2. 設定嚴格 channel 優先(減少搜尋範圍):
    Terminal window
    conda config --set channel_priority strict
  3. 避免在 base 環境中安裝套件:保持 base 乾淨,為每個專案建立獨立環境。

Q: 安裝或更新時出現 CondaHTTPError

Section titled “Q: 安裝或更新時出現 CondaHTTPError?”

A: 通常是網路問題或 proxy 設定。在 .condarc 中設定代理:

.condarc
proxy_servers:
http: http://proxy.example.com:8080
https: https://proxy.example.com:8080

Q: Anaconda 和 Miniconda 可以同時安裝嗎?

Section titled “Q: Anaconda 和 Miniconda 可以同時安裝嗎?”

A: 技術上可以,但強烈不建議。兩者共用相同的 conda 核心,同時安裝會造成 PATH 與環境變數衝突。選擇一個即可。

A: 請參考官方解除安裝指南:


最後更新於:2024-12-06