Conda和pip的比较(附Conda安装Snakemake并配置环境)

别人写的摘抄来:

Conda和pip通常被认为几乎完全相同。虽然这两个工具的某些功能重叠,但它们设计用于不同的目的。Pip是Python Packaging Authority推荐的用于从Python Package Index安装包的工具。 Pip安装打包为wheels或源代码分发的Python软件。后者可能要求系统安装兼容的编译器和库。

Conda是跨平台的包和环境管理器,可以安装和管理来自Anaconda repository以Anaconda Cloud的conda包。 Conda包是二进制文件,徐需要使用编译器来安装它们。另外,conda包不仅限于Python软件。它们还可能包含C或C ++库,R包或任何其他软件。

这是conda和pip之间的关键区别。 Pip安装Python包,而conda安装包可能包含用任何语言编写的软件的包。在使用pip之前,必须通过系统包管理器或下载并运行安装程序来安装Python解释器。而Conda可以直接安装Python包以及Python解释器。

另一个区别是conda能够创建可以包含不同版本的Python或其他软件包的隔离环境。在使用数据科学工具时,这非常有用,因为不同的工具可能包含冲突的要求,这些要求可能会阻止它们全部安装到单个环境中。 Pip没有内置的环境支持,而是依赖于virtualenv或venv 等其他工具来创建隔离环境。 pipenv,poetry和hatch wrap pip和virtualenv等工具提供了统一的方法来处理这些环境。

Pip和conda在如何实现环境中的依赖关系方面也有所不同。安装包时,pip会在递归的串行循环中安装依赖项。没有努力确保同时满足所有包的依赖性。如果较早安装的软件包与稍后安装的软件包具有不兼容的依赖性版本,则可能导致破坏的环境。conda使用可确保满足环境中安装的所有包的所有要求。此检查可能需要额外的时间,但有助于防止创建破坏的环境,前期关于依赖关系包的元数据是正确的。

考虑到conda和pip之间的相似性,有些人试图将这些工具结合起来创建数据科学环境也就不足为奇了。将pip与conda结合的主要原因是有些包只能通过pip安装。 Anaconda创酷提供超过1,500个软件包,包括最流行的数据科学,机器学习和AI框架。这些,以及包括conda-forge和bioconda在内的数据通过Anaconda云提供的数千个附加软件包,可以使用conda进行安装。尽管有大量的软件包,但与PyPI上提供的150,000多个软件包相比,它仍然很小。有时候需要的包没有conda包,但在PyPI上有,可以用pip安装。

作者:python测试开发_AI命理

链接:https://www.jianshu.com/p/5601dab5c9e5

来源:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


用Conda安装Snakemake:

step1:安装Miniconda(Bash)

step2:建立工作目录

$ mkdir snakemake-tutorial

$ cd snakemake-tutorial

$ wget https://github.com/snakemake/snakemake-tutorial-data/archive/v5.4.5.tar.gz

$ tar -xf v5.4.5.tar.gz --strip 1

step3:创建Conda环境

$ conda env create --name snakemake-tutorial --file environment.yaml

执行代码时报错:


Conda数据源的问题,更改使用清华镜像:

$ conda config --show  #查看

$ conda config  #创建 .condarc 文件,自动存放于/home/username

记事本打开.condarc,手动更改,可参照https://mirror.tuna.tsinghua.edu.cn/help/anaconda/

注:根据Snakemake的environment.yaml文件,channels一定要有bioconda和conda-forge

再次执行:

$ conda env create --name snakemake-tutorial --file environment.yaml

报错:


回去看清华镜像,bioconda确实没有5.4.5版本的snakemake-minimal,于是将yaml文件此处改为snakemak-minimal

再次执行:

$ conda env create --name snakemake-tutorial --file environment.yaml

环境配置成功

step4:验证

$ conda activate snakemake-tutorial

$ snakemake --help

$ conda deactivate



另外,再snakemake跑nextstrain zika-tutorial时出现权限问题:


这样解决的.......

删了重新git



有用到的链接:

Conda安装   https://conda.io/projects/conda/en/latest/user-guide/install/linux.html

Snakemake安装 https://snakemake.readthedocs.io/en/latest/tutorial/setup.html#requirements

Conda从yml文件指定环境包 https://www.jianshu.com/p/37d202822e50

一个很好的Snakemake使用笔记   https://www.jianshu.com/p/14b9eccc0c0e

Nextstrain Zika-tutorial https://nextstrain.org/docs/tutorials/zika

你可能感兴趣的:(Conda和pip的比较(附Conda安装Snakemake并配置环境))