本文介绍 Anaconda 的强力管家 Conda:可灵活管理 python 的包 package 和环境 environment。
Conda 简介
多种编程语言的包 package 和虚拟环境 environment 的管理;
非常简单的完成 package 的安装、运行、更新、删除、依赖问题;
可操作 repo.anaconda.com 上 7,500+ packages ;
非常简单的完成不同环境的构建、保存、加载及切换;
支持语言【本文只介绍对 python 操作】:Python、R、Ruby、Lua、Scala、Java、JavaScript、C / C ++、FORTRAN;
支持操作系统:Windows, macOS 和 Linux。
本文目录
1、下载源channel详解
国内部分好用conda下载源
清华大学源
中国科学技术大学源
国内部分好用pip下载源
pip源使用
配置conda下载源
方法一
方法二
查看已配置下载源
查看已配置下载源优先级
删除下载源
方法一
方法二
2、conda系统相关命令
查询某个conda命令帮助文档【最有用命令】
查看conda系统版本等信息
查看conda所有配置信息
conda版本更新
Anaconda中所有包更新
conda更新python
3、包package管理
查看【当前环境】已安装的所有包
查看【当前环境】已安装【指定包】信息
查看【指定环境】已安装的包信息
查看包可用版本
查看某个范围内版本包
最新版包安装
指定版本包安装
指定list中版本包安装
指定范围内中版本包安装
包安装跳过【y/n】
包安装到指定环境中
当前环境包更新
指定环境包更新
包卸载
4、环境environment管理
查看已经存在的环境
创建环境
环境激活
环境退出
环境克隆
环境删除
5、Conda、pip及virtualenv三者比较
1、下载源 channel 详解
下载源,即您下载东西的网址;
由于 Anaconda 的服务器在国外,默认源为 Anaconda.org,国内下载相应资源缓慢,所以需要设置国内 Anaconda 镜像源。
国内部分好用 conda 下载源
网址:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/
#清华大学源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/cloud/conda-forge/https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
网址:https://mirrors.ustc.edu.cn/
#中国科学技术大学源https://mirrors.ustc.edu.cn/anaconda/pkgs/main/https://mirrors.ustc.edu.cn/anaconda/pkgs/free/https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
国内部分好用 pip 下载源
#清华大学源https://pypi.tuna.tsinghua.edu.cn/simple#阿里巴巴源https://pypi.doubanio.com/simple#中国科学计数大学源https://pypi.mirrors.ustc.edu.cn/simple/#豆瓣源https://pypi.doubanio.com/simple
pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple#使用清华源下载pandas包
配置 conda 下载源
以配置清华大学源为例。
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 --set show_channel_urls yes
conda config --set show_channel_urls yes 的作用是显示包的安装来源,如下
linux 下打开 / home/xx/.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
windows 下默认无. condarc 文件,需要 conda config --set show_channel_urls yes 先生成,然后添加上面的内容。
查看已配置下载源
conda config --show channels
查看已配置下载源优先级
conda config --get channels
默认源优先级已降至最低,新加入的清华源优先级最高
删除下载源
直接删除. condarc 文件
conda config --remove channels channels_Name
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
2、conda 系统相关命令
查询某个 conda 命令帮助文档【最有用命令】
conda config -h
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a941TD3e-1687315861664)(https://mmbiz.qpic.cn/mmbiz_png/UGxk62Z8n3SE5w8sRMCCOVNI0DjFjvBh8EDWd4vMGujbqLEFrXvpzuYeicE0dOaibmZ9Qoxo7VtL7WR13ohxrIZA/640?wx_fmt=png)]
查看 conda 系统版本等信息
conda info
查看 conda 所有配置信息
conda config --show
以下列出部分
conda 版本更新
将 conda 更新为最新版
conda update -n base conda
Anaconda 中所有包更新
conda update anaconda
conda 更新 python
更新 python 到当前系列的最新版,当前为 python2,则只能更新到 python2 中最高版本,而不能更新到 python3。
conda update python
3、包 package 管理
查看【当前环境】已安装的所有包
conda list
输出四列,Name(包名称)、Version(包版本号)、Build(包创建者)、Channel(包下载来源)。
查看【当前环境】已安装【指定包】信息
conda list PACKAGE_NAME
查看【指定环境】已安装的包信息
conda list -n ENV_NAME
conda list -n python2.7#查看环境python2.7下安装的所有包
查看包可用版本
conda search PACKAGE_NAME
conda search pandas#以pandas为例
查看某个范围内版本包
conda search “PKGNAME [version=‘>=1.0.0,<1.1’]”
conda search "pandas [version='>=1.0.0,<1.1']"#搜索版本处于1.0.0及1.1之间的pandas
最新版包安装
conda install PACKAGE_NAME 默认安装在当前激活的环境,安装最新版
conda install pandas#默认安装最新版本
指定版本包安装
conda install PACKAGE_NAME=VETSION_CODE
conda install pandas=1.1.1#安装1.1.1版的pandas
指定 list 中版本包安装
conda install “PACKAGE_NAME[version=‘1.0.4 |1.1.1’]”
conda install "pandas[version='1.0.4 |1.1.1']"#安装pandas 1.0.4版或者1.1.1版
指定范围内中版本包安装
conda install “PACKAGE_NAME>1.0.4,<1.1.1”
conda install "pandas>1.0.4,<1.1.1"#安装版本处于1.0.4到1.1.1之间的pandas
包安装跳过【y/n】
conda config --set always_yes yes
默认情况下为 conda config --set always_yes false,也就是安装过程中会请求是否继续安装,设置为 yes 则不再弹出请求。包安装到指定环境中
conda install -n ENV_NAME PACKAGE_NAME
可以这样做,但是完全没必要,建议先激活需要安装的环境,然后再安装
conda install -n python2.7 pandas#将pandas安装在环境python2.7中
当前环境包更新
conda update PACKAGE_NAME
conda update pandas
指定环境包更新
conda update -n ENV_NAME PACKAGE_NAME
包卸载
conda remove/uninstall PACKAGE_NAMEremove 和 uninstall 都可以
conda remove pandas
4、环境 environment 管理
查看已经存在的环境
以下三种方法均可以。
conda info -e
conda info --envs
conda env list
创建环境
conda create --name ENVNAME python=3.6
conda create -y -n python2.7 python=2.7.7
-y#-y, --yes Do not ask for confirmation. 即安装过程无需输入 y 确认
-n python2.7# 设置环境名称为 python2.7
python=2.7.7# 环境的版本为 python=2.7.7,可通过 conda search python 检索可安装的版本号
出现以下表示已经创建成功。
conda info -e 查看当前所有的 conda 创建环境
环境激活
conda activate python2.7
此时环境变为 Python2.7
- 注意 1
conda 4.6后的版本,激活environment使用 conda activateconda 4.6前的版本,激活environment使用:Windows: activateLinux and macOS: source activate
环境退出
conda deactivate
回到了默认环境
环境克隆
将一个环境拷贝一份,二者配置一样,但是可以独立操作
conda create --clone python2.7 --name new_python2.7#将环境python2.7克隆一个new_python2.7
环境删除
conda remove --name new_python2.7 --all#将环境new_python2.7删除
5、Conda、pip 及 virtualenv 三者比较
-
conda 可同时管理 python 的包及环境;
-
pip 只能管理包;
-
virtualenv 只能管理环境:https://www.liaoxuefeng.com/wiki/1016959663602400/1019273143120480
Task | conda 同时管理 package 和 environment | pip 管理 package | Virtualenv 管理 environment |
---|---|---|---|
package 安装 | conda install $PACKAGE_NAME | pip install $PACKAGE_NAME | X |
package 更新 | conda update --name $ENVIRONMENT_NAME $PACKAGE_NAME | pip install --upgrade $PACKAGE_NAME | X |
conda 更新 | conda update conda | Linux/macOS: pip install -U pip Win: python -m pip install -U pip | X |
package 卸载 | conda remove --name $ENVIRONMENT_NAME $PACKAGE_NAME | pip uninstall $PACKAGE_NAME | X |
创建新的 environment | conda create --name $ENVIRONMENT_NAME python | X | cd $ENV_BASE_DIR; virtualenv $ENVIRONMENT_NAME |
激活 environment | conda activate $ENVIRONMENT_NAME * | X | source $ENV_BASE_DIR/$ENVIRONMENT_NAME/bin/activate |
退出 environment | conda deactivate | X | deactivate |
搜索可用 packages | conda search $SEARCH_TERM | pip search $SEARCH_TERM | X |
从指定源下载 package | conda install --channel $URL $PACKAGE_NAME | pip install --index-url $URL $PACKAGE_NAME | X |
查看已安装 packages | conda list --name $ENVIRONMENT_NAME | pip list | X |
创建项目需求文件 | conda list --export | pip freeze | X |
列出所有 environments | conda info --envs | X | Install virtualenv wrapper, then lsvirtualenv |
conda 和 pip 相互安装 | conda install pip | pip install conda | X |
安装指定版本 Python | conda install python=x.x | X | X |
Python 升级 | conda update python * | X | X |
参考资料
https://github.com/conda/conda
https://conda.io/projects/conda/en/latest/index.html#
-END-