一文详解Python Conda包管理工具
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源使用
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
查看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 activate
conda 4.6前的版本,激活environment使用:
Windows: activate
Linux 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
推荐阅读
吴恩达deeplearining.ai的经典总结资料
Ps:从小程序直接获取下载