我们经常会遇到下面这样的场景:

  • 同时在系统安装多个版本的 Python,例如同时安装Python2Python3
  • 由于 A 项目和 B 项目使用的Python包版本不一致,在同一个环境中无法保证两个项目同时都能正常运行

这时候,我们就该考虑使用虚拟环境了,虚拟环境可以为不同的项目创建相互独立的环境,互不影响

Python 中的环境管理工具有很多,例如virtualenvpyenv等,但个人更喜欢用conda。借助 conda,我们就能轻松的应对以上问题啦!

使用 conda 过程中,可以在命令行中使用-h参数,打开帮助文档

# 查看conda帮助文档
conda -h
# 查看conda环境管理命令帮助文档
conda env -h

准备工作:配置 conda 镜像

默认的 conda 源下载速度比较慢,需要先将 conda 源设置为国内镜像

# 添加 Anaconda 的 TUNA 镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# 设置搜索时显示通道地址
conda config --set show_channel_urls yes

列出当前所有的环境

conda info -e



conda 按打开python项目 conda python 路径_conda 删除环境

* 表示当前激活的环境

创建一个虚拟环境

conda create -n env_name python=3.6 pandas=0.21

以上命令创建了一个名为 env_name 的新环境的同时安装了 Python3.6pandas

激活虚拟环境

# Windows系统
activate env_name
# Linux和Mac系统
source activate env_name

删除虚拟环境

conda remove -n env_name

复制某个环境

如果环境依赖包太多,从头开始安装环境,会比较耗时,我们可以复制一个已有的环境,来创建新环境

conda create -n new_env_name --clone old_env_name

分享环境

通常我们会遇到以下场景:

  • 更换电脑、更换系统后快速恢复原来的环境
  • 代码写好以后,通常需要交给别人部署,需要告诉部署人员自己的环境和 Python 依赖信息
  • 在另外一台电脑运行我们的应用程序

这时候 conda 提供的分享环境功能就派上用场了,能够很方便的将我们的环境信息快速的分享出来,操作步骤如下:

  1. 首先我们需要先激活想分享的环境
# Windows
activate env_name
# Linux/Mac
source activate env_name
  1. 然后通过 export 命令导出环境配置
conda env export > environment.yml



conda 按打开python项目 conda python 路径_conda 按打开python项目_02

导出的环境配置

打开environment.yml文件,我们就能看到上图中的环境信息

  1. 最后,通过以下命令就可以重新安装一个相同的环境
conda env create -f environment.yml

当然,conda 也可以像pip一样用于包管理的,这里就不详细展开了,感兴趣的同学可以通过conda -h命令了解详细用法,