使用 Conda 管理 Python

陈华 ⋅ 2023-03-22

应对不同的生产环境往往需要不同版本的 Python 和包。以下介绍如何通过 Conda 包管理器对 Python 来进行版本控制。逻辑是,通过 Conda 创建虚拟环境,在其中安装指定版本的 Python 和包。Conda 可以很方便地安装、增删虚拟环境,不同的虚拟环境用于不同的生产环境,互不干涉。

  1. 安装 Miniconda
  2. 更换镜像为清华源
  3. Conda 自带 base 虚拟环境,输入 conda activate 激活,但不推荐直接使用 base,而是创建新的虚拟环境:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# 创建名为 env_name 的虚拟环境,Python 版本为 3.11,自行更改名称
conda create -n env_name python=3.11
# 激活虚拟环境
conda activate env_name
# 科学计算常用包
conda install numpy scipy sympy matplotlib pandas jupyterlab multiprocess
# 安装 MCMC 包
conda install -c astropy emcee
# 如果需要导入 ipynb 文件
conda install -c conda-forge importnb
# Python 调用 Mathematica
conda install -c conda-forge wolframclient

一些常用 Conda 命令为:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 查看帮助
conda --help
# 查看版本
conda --version
python --version
# 升级 conda
conda update conda
# 列出所有虚拟环境
conda env list
# 列出 env_name 虚拟环境下所有的包
conda list -n env_name
# 在虚拟环境中升级包 PACKAGE,或者全部
conda update PACKAGE
conda update --all
# 在虚拟环境中删除包 PACKAGE
conda remove PACKAGE
# 退出 env_name 虚拟环境
conda deactivate env_name
# 删除 env_name 虚拟环境
conda remove env_name --all
# 导出包列表到用户文件夹下,例如 Windows 的用户文件夹为 `C:\Users\用户名`
conda env export > requirements.yml
# 创建虚拟环境 env_name,并安装 requirements 中的包
conda env create -n env_name -f requirements.yml