首页 > 编程语言 >python包管理工具:Conda和pip比较

python包管理工具:Conda和pip比较

时间:2023-05-18 20:13:45浏览次数:47  
标签:python Python conda 软件包 pip Conda 安装

image

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没有内置的环境支持,而是依赖于virtualenvvenv 等其他工具来创建隔离环境。 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安装。

参考资料

类别 conda pip
管理 二进制 wheel 或源码
需要编译器 no yes
语言 any Python
虚拟环境 支持 通过 virtualenv或venv等支持
依赖性检查 yes 屏幕提示用户选择
包来源 Anaconda repo和cloud PyPi

标签:python,Python,conda,软件包,pip,Conda,安装
From: https://www.cnblogs.com/testing-/p/17413117.html

相关文章

  • 使用Python复制某文件夹下子文件夹名为"数据"文件夹下的所有以"DD"开头的文件夹到桌面
    大家好,我是皮皮。一、前言前几天在Python最强王者群【魏哥】问了一个Python自动化办公处理的问题,这里拿出来给大家分享下。二、实现过程这里他自己有一个原始代码,但是实现的效果不尽人意。importshutilimportos#importsys#导入sys模块#sys.setrecursionlimit(10......
  • Python的基础语法“四” 数据类型内置方法
    数据类型内置方法1.整型1.语法: int()2.作用: 将括号内数据转化为整型还可以进行进制转换2.1、我们常见的进制有哪些?#常见的进制数:二进制、八进制、十进制、十六进制(ABCDEF)#二进制和十进制之间转换#十进制转二进制:除2取余法#......
  • \033[0m 有什么用——python 输出颜色自定义
    "\033"是什么?\033或\33相当于python中的关键字,可以改变输出字体的属性,具体参考ECMA-48标准《ControlFunctionsforCodedCharacterSets》参数有什么?字颜色:30-----------3730:黑31:红32:绿33:黄34:蓝色35:紫色36:深绿37:白色字背景颜色范围:40----47......
  • 一文搞定Jenkins Pipeline语法
    作者ZHDYA,曾运营“云原生个锤子”达3000+人,专注免费分享一些DEVOPS/运维/自动化/K8S生态方面的实战技巧,我们一起前行学习!最近更新主要围绕:Kubernetes、持久化存储、Helm、CICD、Ingress-nginx、监控告警、应用可观察性等相关文章。JenkinsPipeline语法作为一种流行的持续集......
  • python基础06
    练习#猜年龄的游戏#1.如果猜正确了,就直接结束程序#2.猜错的话,继续让它猜,给三次机会,三次全猜错,程序不要结束,问:是否继续猜,是,在给三次机会,否则退出'''先定义一个正确的值'''age=21count=0#计数器whileTrue:ifcount==3:j=input('三次机会用......
  • 【python】dumpall工具使用
    dumpall:一款信息泄漏利用工具,适用于.git/.svn/.DS_Store泄漏和目录列出  git地址:https://github.com/0xHJK/dumpall  安装使用:#unzipdumpall-master.zip#cddumpall-master#python37dumpall.py--version#查看版本#python37dumpall.py-uhttps:......
  • 2023最佳python编辑器和IDE
    IDE没有统一的标准,自己习惯就是最好的。本文列出一些较常用的IDE,供大家参考。一般而言,WingIDE、PyCharm、Spyder、Vim是比较常用的IDE。SpyderSpyder是Python(x,y)的作者为它开发的一个简单的集成开发环境。和其他的Python开发环境相比,它最大的优点就是模仿MATLAB的"工作空间"......
  • Apipost Error: Invalid URI "http:///%20"
    1.情景展示使用Apipost调接口时,出现如上图所示的错误。2.具体分析去他们官网,帮助文档,连个搜索功能都没有,也是服了。说明这个请求地址有问题,但实际我把请求地址放到浏览器当中是可以正常访问的。3.解决方案百思不得其解。最后,发现:原来,是自己在复制URL的时候,前面多了一个......
  • 利用python解析log日志,json文件,配置文件。
    对于喜欢偷懒的我来说,重复同样的工作是很令人头疼的事情,总想找到一条捷径,最好是一劳永逸。本次跟大家分享的是对log日志,json文件以及配置文件的解析,读取。首先是log日志的读写:读取数据:f=open("spring05注意事项.txt",mode='r',encoding='utf-8')line=f.readline()whileline......
  • Python字符串替换的3种方法
    Python字符串替换笔记主要展示了如何在Python中替换字符串。Python中有以下几种替换字符串的方法,本文主要介绍前三种。replace方法(常用)translate方法re.sub方法字符串切片(根据Python字符串切片方法替换字符)1.replace方法Pythonreplace方法把字符串中的old(旧字符串)替换成......