整理Python中常用的conda命令操作

1 conda介紹

conda是一個python的包管理器,用來管理、安裝、更新python的包和相關的依賴。另外,conda可以為特定任務創建獨立的環境,每個環境中可以隻安裝需要用到的包和依賴,還可以將環境導出成yml文件,然後別人可以通過你導出的yml文件可以創建一樣的環境。

1.1 查看版本

conda -V
#或
conda info

1.2 更新到當前版本

conda update conda

1.3 查看某個命令幫助文檔

conda [command] --help

例如conda create --help

2 環境 (environment)

每個環境相當於一個獨立的文件目錄,目錄下是已經安裝瞭的包。切換到哪個環境,conda就會把包安裝在哪個環境的目錄下。默認的環境為base

2. 1 查看所有環境

conda info --envs

2.2 創建環境

#創建一個名為ENVNAME的環境
conda create --name ENVNAME

#創建一個名為ENVNAME的環境,並在該環境下包含某個版本的python
conda create --name ENVNAME python=3.9

#創建環境的同時,安裝某個包
conda create --name ENVNAME python=3.9 PKG1 PKG2

--name也可以寫作-n

例如conda create --name zyy創建瞭一個名為zyy的環境。通過命令conda list --name zyy查看zyy環境下有哪些包,可以發現此時該環境是空的,沒有任何包。

2.3 激活和關閉環境

#激活ENVNAME環境
conda activate ENVNAME
#關閉退出當前環境
conda deactivate

2.4 查看某個環境下安裝的包

#當前環境的包
conda list
#名為ENVNAME的環境的包
conda list --name ENVNAME
#或
conda list -n ENVNAME

2.5 刪除環境

conda remove --name ENVNAME --all

2.6 導出環境到yml文件

#將ENVIRONMENT環境導出到env.yml文件中(包括所有安裝的包以及依賴)
conda env export --name ENVIRONMENT > env.yml
#或
conda env export -n ENVIRONMENT > env.yml

#將ENVIRONMENT環境導出到env.yml文件中(不包括附帶安裝的依賴)
conda env export --from-history	 --name ENVIRONMENT > env.yml

2.7 根據yml文件創建環境

conda env create --file envname.yml
#或
conda env create -f envname.yml

2.8 環境變量設置

有時候在某個環境下需要設置環境變量。

查看當前的環境變量:conda env config vars list

設置環境變量:conda env config vars set my_var=value

取消環境變量:conda env config vars unset my_var

3 安裝和卸載包

#在目前所在環境下安裝名為PKG的包
conda install PKG

#在目前所在環境下安裝某個版本的包
conda install PKG=3.1.4

#安裝PKG包到指定環境ENVIRONMENT
conda install PKG --name ENVIRONMENT
#或
conda install PKG -n ENVIRONMENT

#從名字為CHANNEL的源中安裝名字為PKG包
conda install PKG --channel CHANNEL

#從當前環境卸載某個包
conda uninstall PKG

#卸載指定環境中的某個包
conda uninstall PKG --name ENVIRONMENT

4 源 (channel)

conda的channel就是各個python包所在的遠程地址,中文常常稱作”源”。python的包存放在某個channel中,然後每個人在安裝某個package的時候,此package便通過網絡從遠程的channel下載到本地然後安裝到當前的環境(environment)中。

默認channel是 https://repo.anaconda.com/pkgs/,可能會收費。而conda-forge是免費的。

4.1 查看channel:

conda config --show

輸入上述命令後,可以在命令行看到下列結果,發現隻有兩個channels,一個是conda-forge,一個是defaults。可以看到default_channels來源有兩個:https://repo.anaconda.com/pkgs/main和https://repo.anaconda.com/pkgs/r

命令conda config --show除瞭顯示channels之外,還會顯示別的配置,如果隻需要查看channels及其優先級,可以用

conda config --get channels

在這裡插入圖片描述

4.2 添加channel:

#在channel list最上面添加channel,使其優先級最高
conda config --prepend channels CHANNEL
#或
conda config --add channels CHANNEL

#在channel list最下方添加channel,使其優先級最低
conda config --append channels CHANNEL

添加北外鏡像的源:

conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
#Conda Forge
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/
#pytorch
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/

添加之後,再看看有沒有添加成功,conda config --get channels

在這裡插入圖片描述

除瞭defaults和conda-forge,還多瞭四個我們剛剛添加的源,說明添加成功。

4.3 刪除channel

conda config --remove channels CHANNEL

例如,剛剛添加瞭北外鏡像的源,現在我們來刪掉:

conda config --remove channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/
conda config --remove channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
conda config --remove channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/
conda config --remove channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/

再次查看當前的channels, conda config --get channels

5 一個完整示例

查看channel

conda config --get channels

在這裡插入圖片描述

添加北外的源:

conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/

查看現在的channel

在這裡插入圖片描述

查看當前系統有多少個環境

conda env list

顯示:

在這裡插入圖片描述

表明現在隻有一個base環境。

創建新環境zyy,並且同時安裝python3.9, matplotlib, numpy, netcdf4

conda create --name zyy python=3.9 matplotlib numpy netcdf4

在這裡插入圖片描述

Proceed ([y]/n)?輸入 y繼續。然後開始安裝包和相關的依賴。

最後顯示:

在這裡插入圖片描述

表明環境創建成功。

然後切換到zyy環境:

conda activate zyy

在這裡插入圖片描述

切換環境後,發現前面括號中的內容已經由(base)變為(zyy)。

然後查看系統中存在哪些環境:

conda env list

接著導出當前環境

conda env export --name zyy --from-history my_env.yml

my_env.yml內容如下:

在這裡插入圖片描述

接下來我們看如何從已有的yml文件中導入環境。

conda env create --file my_env.yml

顯示這個錯誤: CondaValueError: prefix already exists: /home/yyzhong/anaconda3/envs/zyy

因為zyy環境已經存在瞭。為此,我們可以先把my_env.yml第一行中的zyy改稱zyy2。然後

conda env create --file my_env.yml

然後通過

conda env list

可以看到,現在存在3個環境瞭。

到此這篇關於整理Python中常用的conda命令行操作的文章就介紹到這瞭,更多相關conda命令行常用操作內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: