前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用conda管理python包

使用conda管理python包

作者头像
bugsuse
发布2020-04-21 17:28:39
3.4K0
发布2020-04-21 17:28:39
举报
文章被收录于专栏:气象杂货铺

使用Python的一定对著名的科学计算集成环境Anaconda(miniconda)并不陌生,而无论是使用Anaconda还是miniconda都必然会用到其包管理器——conda。作为一款管理python安装包的包管理器,其功能要比python自带的pip强大不少。

安装好anaconda时会默认安装conda,以及一些python安装包。然后可以根据个人需要,使用conda安装其余的第三方包,conda会自动解决包之间的依赖关系。在安装第三方包时,由于网络连接原因,连接默认源的速度会很慢,有时会出现连接中断,甚至无法连接的情况。为了提高下载速度,并且顺利安装,在安装好anaconda之后,使用conda包管理器之前,有必要更改conda的默认配置信息,尤其是源的通道。

修改源通道

先执行 conda config --show-sources 查看已有通道信息:

conda的配置信息都存储在 .condarc 文件中(注意: .):

  • windows系统,.condarc 位于 C:\Users\用户名\目录下
  • Linux系统,./condarc 位于 /home/用户名/ 目录下

从图中可以看出,除了 defaults 之外,还有一些清华大学的通道以及 r 通道。这些通道都是后来添加的。通过执行以下命令可以添加通道:

添加 anaconda 源通道

代码语言:javascript
复制
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

添加 第三方源通道

代码语言:javascript
复制
# conda-forge 源通道,包含了很多常用的python包
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
# msys2 源通道,可以非常方便的在windows上安装 fortran 编译器等
#  有利于解决一些在 linux下运行,而对 windows 支持不好的包的依赖
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/

执行

代码语言:javascript
复制
conda config --set show_channel_urls yes

可以在安装python包时看出包的来源。

除了清华大学设置了 anaconda 的镜像站之外,中国科大,南京大学等国内高校都同步了anaconda的官方库镜像以及一些第三方库镜像。因此,除了清华大学的镜像站可用之外,还有其它镜像站同样可用,可根据需要选择。

注意

如果你是清华大学的,那么建议你使用清华大学镜像站。因为处于清华大学内网中通过清华镜像站安装python库会比在校外连接快10倍左右。如果你们学校没有同步anaconda镜像站,那么可以根据网络距离选择距离你近的镜像站。当然,你也可以看心情选择。

conda config 命令也有许多可选项,支持信息写入写入操作,可以指定将配置信息写入到哪个文件。比如:

--system 选项,可以将配置信息写入系统路径下的 .condarc 文件,而不是用户目录下的 .condarc 文件中。

安装包

设置好源通道之后就可以安装需要的python包了,比如:

代码语言:javascript
复制
conda install matplotlib

默认情况下,连接源通道之后需要确认是否安装 matplotlib,但有时候不想确认,直接默认安装的话,可以执行以下命令:

代码语言:javascript
复制
conda install --yes matplotlib

也可以安装指定版本号的包

代码语言:javascript
复制
conda install matplotlib=2.0.1

上述安装方式是为默认的python环境安装python相关包,也可以为指定的python环境安装相关包:

代码语言:javascript
复制
conda install -n myenv matplotlib

除此之外,还可以从指定通道安装所需要的包:

代码语言:javascript
复制
conda install -c conda-forge wrf-python

如果有些安装包的连接不稳定的时候,可以将安装包下载到本地,然后通过本地安装:

代码语言:javascript
复制
conda install --use-local 包名

可能因为需要,只想知道执行安装命令之后会发生什么,但是并(闲)不(的)想(无)真(聊)的(玩)安(一)装(玩),可以指定 --dry-run 参数(嗯,干run)。

代码语言:javascript
复制
conda install --dry-run matplotlib

还可以强制安装,也可以只安装指定的安装包,不安装依赖。更多功能,可以执行:

代码语言:javascript
复制
conda install --help

更新包

更新python包的方式和安装python包的方式类似,只是将 install 改为 update/upgrade,而且支持的可选参数项几乎完全相同。

代码语言:javascript
复制
conda update/upgrade -n myenv matplotlib=2.0.1
conda update/upgrade --yes --use-local matplotlib

删除包

卸载python包的命令形式与安装操作刚好相反,但是大部分可选参数项类似,也提供了一键卸载所有安装包,即整个python环境。

代码语言:javascript
复制
conda remove/uninstall --all

搜索包

如果安装之前不确定是否存在此安装包,或是安装包的名称记不太清了,都可以先搜索一下安装包。

conda search 命令支持python正则表达式输入,可以非常方便的进行搜索。如果搜索字符串中包含 - ,需要通过 -- 将 搜索字符串隔开,比如:

代码语言:javascript
复制
conda search -- -h

搜索结果中包含 * ,则意味着安装到当前环境,如果包含 . ,则意味着不安装,但会在 pkgs 目录进行缓存。

也可以安装平台进行搜索:

代码语言:javascript
复制
conda search --platform linux-64

、支持的平台名如下:

代码语言:javascript
复制
win-32,win-64,osx-64,linux-32,linux-64

除了上述命令之外,还有一些其它命令,但是不经常使用,比如 conda list 列出安装包信息等。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-07-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 气象杂货铺 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档