使用 Conda 管理 Python 开发环境
Conda 是非常好用的 Python 环境管理工具,目前使用最为广泛的发行版是 Anaconda。Anaconda 默认自带了大量科学计算和 Python 常用的第三方库,但体积不小。除此之外,Miniconda 的体积会小很多,但是自带的库也较少了。日常工作中,我会使用 Miniconda 来管理开发环境。
Miniconda 可以通过 官网 下载,最新预装 Python 3.7 环境安装文件大约 60 MB。
安装好 Miniconda 之后,就需要安装常用的第三方库。这里推荐使用 .yaml
文件进行管理。下面是一个示例环境文件:
name: py36
channels:
- defaults
- conda-forge
- anaconda
dependencies:
- python=3.6.8
- jupyter=1.0.0
- matplotlib=3.0.2
- numpy=1.15.4
- pandas=0.23.4
- scikit-learn=0.20.1
- scipy=1.1.0
- pip:
- airtable
name
对应环境的名称,这里我们打算建立一个 Python 3.6 的虚拟环境。dependencies
中包含第三方库及版本号。由于个别库不包含在 Anaconda 官方源中,所以需要指定对应的 channels
。dependencies
中也可以关联一些无法通过 Conda 安装的库,则通过 pip 安装。
有了环境配置文件,就可以直接启动一个虚拟环境了:
conda env create -f environment.yaml
你可能并不想使用虚拟环境,而是直接更新默认环境。默认环境的名称为 base
,所以需要将 environment.yaml
中的 name
改为 base 之后,使用下面命令更新:
conda env update -f environment.yaml
如果想要导出现有环境为配置文件,则可使用:
conda env export > environment.yml
conda 最大的优势在于可以解决依赖,非常省心。例如,当你想安装支持 GPU 版本的 TensorFlow 时,一般需要先安装 TensorFlow,再安装 cuda 框架,最好安装 cudnn 神经网络加速工具。而使用 Conda 安装时,只需要 conda install tensorflow
,一切自动搞定。