vlambda博客
学习文章列表

一文详解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
一文详解Python Conda包管理工具

查看已配置下载源优先级

conda config --get channels

默认源优先级已降至最低,新加入的清华源优先级最高一文详解Python Conda包管理工具

删除下载源

  • 方法一

直接删除.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
一文详解Python Conda包管理工具

查看conda系统版本等信息

conda info
一文详解Python Conda包管理工具

查看conda所有配置信息

conda config --show

以下列出部分一文详解Python Conda包管理工具

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(包下载来源)。一文详解Python Conda包管理工具

查看【当前环境】已安装【指定包】信息

conda list PACKAGE_NAME
一文详解Python Conda包管理工具

查看【指定环境】已安装的包信息

conda list -n ENV_NAME

conda list -n python2.7#查看环境python2.7下安装的所有包

查看包可用版本

conda search PACKAGE_NAME

conda search pandas#以pandas为例
一文详解Python Conda包管理工具

查看某个范围内版本包

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则不再弹出请求。一文详解Python Conda包管理工具包安装到指定环境中

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
一文详解Python Conda包管理工具

创建环境

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检索可安装的版本号
出现以下表示已经创建成功。一文详解Python Conda包管理工具conda info -e 查看当前所有的conda创建环境

一文详解Python Conda包管理工具

环境激活

conda activate python2.7

此时环境变为Python2.7一文详解Python Conda包管理工具

  • 注意1
conda 4.6后的版本,激活environment使用 conda activate


conda 4.6前的版本,激活environment使用:
Windows: activate
Linux and macOS: source activate

环境退出

conda deactivate

回到了默认环境一文详解Python Conda包管理工具

环境克隆

将一个环境拷贝一份,二者配置一样,但是可以独立操作

conda create --clone python2.7 --name new_python2.7#将环境python2.7克隆一个new_python2.7
一文详解Python Conda包管理工具

环境删除

conda remove --name new_python2.7 --all#将环境new_python2.7删除
一文详解Python Conda包管理工具

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#


加入知识星球【我们谈论数据科学】

500+小伙伴一起学习!








· 推荐阅读 ·