Python - conda 常用命令介紹

本文介紹使用conda管理anaconda Python環境的相關命令。

conda 環境相關命令

創建環境

conda create -n env_name python=3.7 --clone another_env

-n:name 表示新環境名稱

python:使用python版本

–clone:從現有環境複製而來

刪除環境

conda remove -n env_name --all

查看環境

conda env list 

conda info -e

激活環境

conda activate env_name

source activate env_name

退出環境

conda deactivate

source deactivate

會回到base環境

conda 包相關命令

查看當前環境下conda管理的python包列表

conda list

安裝python包

conda install package_name #安裝包
conda install package_name_1 package_name_2 package_name_3 ... #一次安裝多個包
conda install package_name=1.1.0 #安裝指定版本的包

更新包

conda update package_name # 更新包
conda upgrade --all #更新所有包

卸載包

conda remove package_name

搜索不清楚名稱的包

conda search search_term

conda 重現環境

使用conda管理python一個重要的考量就是可遷移性,conda 提供了幾種方法用於重現某個conda 環境。

Clone

上文介紹過這個命令,用於本地重現某個環境

conda create --name new_env --clone old_env

Spec List

相同操作系統的計算機之間複製環境,可以生成 spec list

# 生成 spec list 文件
conda list --explicit > spec-list.txt 
#重現環境:
conda create --name python-course --file spec-list.txt

Environment.yml

使用 -export 選項生成一個 environment.yml 文件,以在不同的平臺和操作系統之間復現項目環境。

spec list 文件和 environment.yml 文件之間的區別在於: environment.yml 文件不針對特定操作系統,並且使用YAML格式。environment.yml 僅列出了軟件包名稱,由 conda 基於軟件包的名稱構建環境。 另一個區別是 -export 還包括使用pip安裝的軟件包,而 spec list 則沒有。

#導出 environment.yml 文件:
conda env export > environment.yml
#重現環境:
conda env create -f environment.yml

注意:如果當前路徑已經有了 environment.yml 文件,conda 會重寫這個文件

Conda Pack

上述兩種重現的方法都基於記錄當前環境包信息,到新機器重建的思路。而Conda Pack用的是將當前環境的文件直接打包,帶到新機器拆包使用的思路。

conda-pack 指定平臺和操作系統,目標計算機必須具有與源計算機相同的平臺和操作系統。

安裝 conda pack

# from conda
conda install -c conda-forge conda-pack
# from pip
pip install conda-pack

打包環境

conda pack -n my_env
conda pack -n my_env -o out_name.tar.gz

重現環境

mkdir -p path_to_my_new_env # 建議放在anaconda的envs文件夾中
tar -xzf my_env.tar.gz -C path_to_my_new_env # 解壓包中文件
source path_to_my_new_env/bin/activate # 激活該環境
(my_env) $ python # 進入一下該環境下的 python 隨後退出
(my_env) $ conda-unpack # 十分重要,請不要忽略
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章