为什么需要Conda?
Python 在我们日常生活的应用越来越多,不同的项目,可能需要不同版本的Python解释器,依赖不同的包或模块。如果将所需要的全部模块全部安装在主环境中,将会很乱,这样每次下载计算依赖的时间会很长,并且修改Python解释器版本还要修改环境变量,特别麻烦而且不易于管理。
还有一个原因是,我近期在Win10 ,Python3.8, 用pip 下载Numpy 莫名其妙老是报错(懒得去查找原因了,直接安装了Anaconda,省时省力)
Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。
使用之前,添加镜像软件源
官方的网站再好,也不如从离自己近的镜像网站下载相应的软件。嗯,看着网速飞起,就是爽。
添加清华的镜像源 详细步骤看这里 https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
总之是在用户目录下的 .condarc 文件里添加 镜像源的频道。
- 添加官方的源
conda config --add channels bioconda
conda config --add channels conda-forge
- 显示安装的频道
conda config --set show_channel_urls yes
- 查看已经添加的channels
conda config --get channels
基本使用:查找,安装,卸载
conda search gatk # 搜索软件包
conda list # 查看已安装软件
conda update gatk # 更新指定软件
conda remove gatk # 卸载指定软件
conda 安装特定版本软件
如需要安装特定的版本:
conda install gatk=3.7
conda install 软件名=版本号
这时conda会先卸载已安装版本,然后重新安装指定版本。
conda install tensorflow=1.15
使用 Conda 管理 Python 虚拟环境
Python 中的虚拟环境是将一个项目所依赖的库文件独立存放在某个地方的工具。 > 可选, virtualenv 来创建虚拟环境
# conda env --help
conda-env -h
- 创建虚拟环境
conda create --name py-35
# conda-env create -n py-35 # 需要指定environment.yaml 文件
- 激活和退出虚拟环境
# source activate py-35
conda activate py-35
# source deactivate
在这个虚拟环境下,我们所用的python 环境(解释器)是默认的,但是库文件已经是只是在这个虚拟环境里的了。
- 删除虚拟环境
conda remove --name py-35 --all
conda remove -n py-35 --all
# conda-env remove --name py-53
- 列出安装的虚拟环境
conda env list
# conda-env list
- 更好的安装方式:在建立虚拟环境时直接指定 Python 的版本
# conda-env create -n test-py35 python=3.5
conda create -n test-py35 python=3.5
conda-env list
- 复制一个虚拟环境
conda create --name test-py352 --clone test-py35
- 导出一个环境
source activate test-py35
conda env export > environment.yaml
# conda-env create -f environment.yml # 复制出虚拟环境
- requirement.txt
我们可以通过 freeze 环境包前当前的状态来保证环境的一致性
pip freeze > requirement.txt
# pip install -r requirement.txt
参考
conda的安装与使用(2019-6-28更新)
《python 机器学习实战》