一文详解Python Conda包管理工具

小詹学Python

共 7275字,需浏览 15分钟

 ·

2023-03-10 22:44


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
Taskconda同时管理package和environmentpip管理packageVirtualenv管理environment
package安装conda install $PACKAGE_NAMEpip install $PACKAGE_NAMEX
package更新conda update --name $ENVIRONMENT_NAME $PACKAGE_NAMEpip install --upgrade $PACKAGE_NAMEX
conda更新conda update condaLinux/macOS: pip install -U pip Win: python -m pip install -U pipX
package卸载conda remove --name $ENVIRONMENT_NAME $PACKAGE_NAMEpip uninstall $PACKAGE_NAMEX
创建新的environmentconda create --name $ENVIRONMENT_NAME pythonXcd $ENV_BASE_DIR; virtualenv $ENVIRONMENT_NAME
激活environmentconda activate $ENVIRONMENT_NAME*Xsource $ENV_BASE_DIR/$ENVIRONMENT_NAME/bin/activate
退出environmentconda deactivateXdeactivate
搜索可用packagesconda search $SEARCH_TERMpip search $SEARCH_TERMX
从指定源下载packageconda install --channel $URL $PACKAGE_NAMEpip install --index-url $URL $PACKAGE_NAMEX
查看已安装 packagesconda list --name $ENVIRONMENT_NAMEpip listX
创建项目需求文件conda list --exportpip freezeX
列出所有environmentsconda info --envsXInstall virtualenv wrapper, then lsvirtualenv
conda和pip相互安装conda install pippip install condaX
安装指定版本Pythonconda install python=x.xXX
Python升级conda update python*XX

参考资料

  • https://github.com/conda/conda
  • https://conda.io/projects/conda/en/latest/index.html#

END



推荐阅读


牛逼!Python常用数据类型的基本操作(长文系列第①篇)

牛逼!Python的判断、循环和各种表达式(长文系列第②篇)

牛逼!Python函数和文件操作(长文系列第③篇)

牛逼!Python错误、异常和模块(长文系列第④篇)


吴恩达deeplearining.ai的经典总结资料


Ps:从小程序直接获取下载

​​

浏览 65
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报