前言
之前在開發 Python 程式時,我都是使用 pip 來做套件管理,使用 virtualenv 來建立虛擬環境,後來發現 Conda 這個工具,Conda 是一個開源的套件及虛擬環境管理工具,支援多種程式語言(Python, R…等),這邊來記錄一下它的使用方式,以下的指令是以 Windows 環境為主,Linux 或 MacOS 的指令可以參考官方文件。
安裝
Conda 的安裝方式可以透過安裝 Anaconda 或是 Miniconda 來取得,Anaconda 是一個比較完整的套件,它同時也會安裝一些常用的套件,例如:Pandas、Matplotlib、SciPy…等,如果有足夠的硬碟空間,可以直接安裝 Anaconda,如果硬碟空間不夠或是不想要安裝太多不一定會用到的套件,就可以安裝 Miniconda 就好。
基本指令
虛擬環境操作
建立虛擬環境
-n
, --name
: 設定環境名稱
-f
, --file
: 由檔案建立虛擬環境
1 2 3 4 5 6 7 8 9 10
| $ conda create -n <env_name> <package>
$ conda create -n <env_name> anaconda
$ conda create -n <env_name> python=3.8
$ conda env create -f <dependency.yml>
|
顯示虛擬環境列表
1 2 3 4
| $ conda info -e
$ conda env list
|
切換至虛擬環境
1
| $ conda activate <env_name>
|
離開虛擬環境
刪除虛擬環境
1 2 3 4
| $ conda remove -n <env_name> --all
$ conda env remove -n <env_name>
|
套件管理
安裝套件
1
| $ conda install <package>
|
-c
: channel, 如果找不到,可以到 conda-forge
搜尋:
1
| $ conda install -c conda-forge <package>
|
或是也可以直接在設定中增加 channel:
--add
, --prepend
: 增加在 channel list 最上方,priority 最高
--append
: 增加在 channel list 最下方,priority 最低
1
| $ conda config --append channels conda-forge
|
查詢套件
顯示套件列表
1
| $ conda list [-n <env_name>]
|
移除套件
1 2 3 4
| $ conda remove <package>
$ conda remove -n <env_name> <package>
|
更新套件
1
| $ conda update <package>
|
匯出環境
匯出已安裝套件
1 2 3 4
| $ conda list -e > requirements.txt
$ conda create -n <env_name> -f requirements.txt
|
匯出 environment.yml
1 2 3 4
| $ conda env export -n <env_name> -f environment.yml
$ conda env create -f environment.yml
|
Problems
CondaHTTPError HTTP 000
如果有遇到 CondaHTTPError HTTP 000
的 Error 時,有可能是防火牆阻擋安裝,也有可能是環境變數沒有設定好,必須要添加 C:\Users\<user>\anaconda3\Library\bin
,添加之後通常就沒問題了!
Activate not work on Windows
如果建立好虛擬環境,但是無法 activate,需要先檢查系統的環境變數 Path 是否有以下內容:
C:\Users\<user>\anaconda3
C:\Users\<user>\anaconda3\Library\bin
C:\Users\<user>\anaconda3\Scripts
確定都設定好之後,要再執行 conda init
指令,接著就可以使用 conda activate <env_name>
切換至虛擬環境。
參考