06-Conda虚拟环境

Anaconda自带的conda环境工具可以用来的创建或删除虚拟环境,方便我们切换不同版本的虚拟python运行环境,更重要的是可以加快我们加载环境的速度,方便切换不同版本的pip依赖库。

基本使用

  • 查看conda安装的包
conda list
  • 查看存在哪些虚拟环境
conda env list
  • 查看指定虚拟环境已安装的包
conda list -n env_name
  • 注意:

如果安装后无法执行conda命令,请执行以下命令,将conda环境加入系统环境变量:

echo "export PATH=~/anaconda3/bin:\$PATH" >> ~/.bashrc

然后重新打开一个终端

环境创建及删除

假如我们要创建一个名为env_name的虚拟环境

创建虚拟环境

如果无法创建,请参见下边的环境源操作中修改源

# 直接使用默认版本
conda create -n env_name
# 或可指定python版本
conda create -n env_name python=2.7
# 或可指定需要的库
conda create -n env_name python=3.6 numpy scipy

复制虚拟环境

conda create -n env_name --clone env_name_new

删除虚拟环境

conda remove -n env_name --all

环境激活及退出

  • 激活
source activate env_name

可以通过python -V检查当前python版本

  • 退出
source deactivate

环境额外的依赖包

  • 安装
conda install -n env_name [package]
  • 卸载
conda remove --n env_name [package]
  • 查看已安装依赖包
pip freeze
# 或者
pip list

环境源操作

清华官网文档:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/

查看源

conda config --show-sources

输出:

poplar@poplar-pc:~$ conda config --show-sources
==> /home/poplar/.condarc <==
channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - defaults
show_channel_urls: True

修改源

方式1:执行命令

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
conda config --set show_channel_urls yes
conda config --set channel_alias https://mirrors.tuna.tsinghua.edu.cn/anaconda

方式2:手动修改配置文件

编辑文件gedit ~/.condarc,将以下内容覆盖进去,保存:

channels:
  - defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

其他源操作

  • 如果需要pytorch, 还需要添加pytorch的镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

# for legacy win-64 以下命令是在同一行
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/peterjc123/
  • 命令移除源
conda config --remove channels 源名称或链接 #删除指定源