一、安装位置
主要存在三个安装位置:
无论系统环境还是虚拟环境,conda install 均将 package 安装到 anaconda3/pkgs 目录下
系统环境下 pip install 将 package 安装到 ~/.local/lib/python3.x/site-packages 目录下
虚拟环境下 pip install 将 package 安装到 anaconda3/envs/current_env/lib/python3.x/site-packages 目录下
git clone 和源码安装方式均是基于 pip install 的,所以安装位置与2,3一致
二、依赖数据库
conda install 依赖于 anaconda 数据库https://www.anaconda.com/和 bioconda 数据库https://bioconda.github.io/
pip install 依赖于 PyPI 数据库 https://pypi.org/
git clone 当然是克隆 github 项目 https://github.com/
源码包也主要是来源于 PyPI 数据库
三、安装范围
- conda install 的安装范围不仅仅局限于 python package,也就是除了安装 python package,还能安装通用 linux 软件,gcc 库等。但 conda install 所能安装的 python package 数量要远远少于 pip install。如果通过 conda install 安装 package,可以先在 anaconda 数据库检索 conda 是否提供该包的安装。
conda install packagename
- pip install:绝大多数的 python package 都可以通过 pip install packagename 命令直接安装。当然是否报错就需要另当别论。
pip install packagename
- git clone:严格来说 git clone 并不是一种安装方式,只不过是将 package 从 github 上克隆下来,然后利用 pip install 进行安装,和2存在交叉。前边说了绝大多数的 python package 都可以通过 pip install packagename 命令直接安装,那么就还用一小部分 python package 是无法直接安装的。某些 package 只存在于 github 数据库中而没有上传到 PyPI 数据库,这时就需要先将 package 从 github 克隆到本地,然后通过 pip install . 命令安装
git clone link_to_packagename
cd packagename
pip install .
- 源码安装:这种方式一般是走投无路才会选择的安装方式,缺失依赖包会直接报错,然后根据报错手动安装所有的依赖包
python setup.py install
四、各自优势
codna install package:强大的安装方式,能够自动解决依赖包/依赖软件的安装(不仅仅只是 python package,还有其他的软件)
pip install package:基本支持所有的 python package 的直接安装,同时安装依赖包。某些只存在 github 数据库的 package 也是先克隆到本地,然后用 pip install 安装
源码安装是最后的选择
五、安装方式优先级
conda install package 和 pip install package 这两种方式优先使用哪一种都没关系,但需要考虑 package 调用顺序优先级以及避免重复安装,优先使用哪种就要一直保持,不能这次安装 package A 用 conda install 方式,下次安装 package B 用 pip install,如果经常这样安装 package 在以后调用的时候很可能报错。
个人经验 pip install package > conda install package > pip install git_clone > 源码安装
版权归原作者 韩建刚(CAAS-UCD) 所有, 如有侵权,请联系我们删除。