用pip安装Python扩展包有时候需要编译源代码,这着实有点烦。Anaconda则提供了一站式服务,可以通过其conda命令行安装预制包。
Conda和Pip的区别
Understanding Conda and Pip介绍了Conda和Pip的区别,总结如下:
- Pip用于从pypi.org安装Python的源码包或者Wheel包;conda则是从https://repo.anaconda.com/和https://anaconda.org/安装预处理过的包(比如已经编译过的),然后conda提供的包不限于Python
- 总的来说,conda提供和科学计算相关的预制包
- conda默认提供创建多个Python环境的工具,而无需使用virtualenv, venv,或者上层工具pipenv, poetry, hatch等等
- conda提供的预制包数目大概在1500个,此外还可以从https://conda-forge.org/和https://bioconda.github.io/安装额外的包。但是pip提供的软件包比conda大一个数量级,所以有时候conda和pip会混合使用
- 最后,conda使用satisfiability (SAT) solver来处理预制包之间的依赖,会比pip在包依赖管理方面更强
Anaconda和Miniconda的关系
- Anaconda大而全,包含很多GUI程序,全部安装需要3GB存储空间
- Miniconda不需一次性安装所有预制包,可以根据需求一点一点增加
Python3对应的是Anaconda3和Miniconda3,在Windows下可以使用scoop安装。
不管是Anaconda还是Miniconda,都提供conda命令行。
conda命令行
使用aliyun的镜像,首先通过conda config --set show_channel_urls yes
创建一个~/.condarc
编辑.condarc
,修改其内容为:
channels:
- defaults
show_channel_urls: true
default_channels:
- http://mirrors.aliyun.com/anaconda/pkgs/main
- http://mirrors.aliyun.com/anaconda/pkgs/r
- http://mirrors.aliyun.com/anaconda/pkgs/msys2
custom_channels:
conda-forge: http://mirrors.aliyun.com/anaconda/cloud
msys2: http://mirrors.aliyun.com/anaconda/cloud
bioconda: http://mirrors.aliyun.com/anaconda/cloud
menpo: http://mirrors.aliyun.com/anaconda/cloud
pytorch: http://mirrors.aliyun.com/anaconda/cloud
simpleitk: http://mirrors.aliyun.com/anaconda/cloud
然后执行conda clean -i
清理缓存。
示例:搜索安装numpy:
conda search numpy
conda install numpy
更多参考Conda packages
其他
- 单独的Conda文档
- 单独的Conda Build文档
(本篇完)