首页 > 其他分享 > pip install和conda install的区别

pip install和conda install的区别

时间:2023-04-26 16:45:14浏览次数:42  
标签:依赖 环境 conda install pip 安装

前言

conda installpip install一般被认为是几乎相同的,但这两个工具虽然功能存在部分重叠,但其设计的目的是不同的。

一.使用区别

支持语言:

  • pippython 官方推荐的包下载工具,但是只能安装python包
  • conda 是一个跨平台(支持linux, mac, win)的通用包和环境管理器,它除了支持python外,还能安装各种其他语言的包,例如 C/C++, R语言等

Repo源:

  • pipPyPIPython Package Index)上拉取数据。上面的数据更新更及时,涵盖的内容也更加全面
  • condaAnaconda.org 上拉取数据。虽然Anaconda上有一些主流Python包,但在数量级上明显少于PyPI,缺少一些小众的包

包的内容

  • pip 里的软件包为wheel版或源代码发行版。wheel属于已编译发新版的一种,下载好后可以直接使用;而源代码发行版必须要经过编译生成可执行程序后才能使用,编译的过程是在用户的机子上进行的,需要注意的是源码格式的包通常需要系统内安装了兼容的编译工具和所需要的库文件。
  • conda 里的软件包都是二进制文件,下载后即可使用,不需要经过编译

环境隔离

  • pip 没有内置支持环境隔离,只能借助其他工具例如virtualenv or venv实现环境隔离
  • conda 有能力直接创建隔离的环境

依赖关系

  • pip安装包时,尽管也对当前包的依赖做检查,但是并不保证当前环境的所有包的所有依赖关系都同时满足。当某个环境所安装的包越来越多,产生冲突的可能性就越来越大。
  • pip install通过循环递归的方式安装依赖,这一点我们可以理解为只要碰到没有安装的依赖包就进行安装,直到安装完毕,很粗暴简单,但是随之带来的问题就是安装过程不稳定,比如安装过程中先安装的软件包的依赖和后安装的软件包的依赖产生冲突,整个安装过程就会崩坏。
  • conda会检查当前环境下所有包之间的依赖关系,保证当前环境里的所有包的所有依赖都会被满足

库的储存位置

  • conda虚拟环境下使用 pip install 安装的库: 如果使用系统的的python,则库会被保存在 ~/.local/lib/python3.x/site-packages 文件夹中;如果使用的是conda内置的python,则会被保存到 anaconda3/envs/current_env/lib/site-packages中。
  • conda install 安装的库都会放在anaconda3/pkgs目录下。这样的好处就是,当在某个环境下已经下载好了某个库,再在另一个环境中还需要这个库时,就可以直接从pkgs目录下将该库复制至新环境而不用重复下载

三 使用总结

推荐使用conda创建虚拟环境,能用conda安装的就先用conda(conda下载是真的慢,就算换源了还是慢,下大点的文件还容易失败),不行再使用pip安装。

参考

参考一
参考二
参考三

 

标签:依赖,环境,conda,install,pip,安装
From: https://www.cnblogs.com/chentiao/p/17356549.html

相关文章

  • 关于conda在创建虚拟环境时使用env.yaml安装pip的开源git包失败的解决办法
    以下env.yaml配置为例:name:alpacachannels:-pytorch-defaultsdependencies:-python=3.8.5-pip=20.3-cudatoolkit=11.3-pytorch=2.0.0-numpy=1.19.2-pip:-datasets-loralib-sentencepiece-accelerate-bitsan......
  • Nodejs中流的操作,实现简单的pipe
    fs与流都可以处理文件,为什么还要用流?fs模块处理文件的缺点:将文件的数据全读到内存中,在把数据写到文件内,会大量占用内存。流介绍:      流(stream)是Node.js中处理流式数据的抽象接口,是一组有序的,有起点和终点的字节数据传输手段。可以实现将数据从一个地方流动到另一个......
  • Advanced Installer添加快捷方式和卸载功能
    依次点击左侧“资源”中的“文件和文件夹”选中“应用程序快捷方式文件夹”,在右侧空白处右键-新建快捷方式在弹出的对话框中,选择需要创建快捷方式的文件,点击确定按钮,此时成功添加了一个快捷方式,然后右键此快捷方式,粘贴到下面的桌面中,这样安装完成后自动在桌面上创建快捷方式。......
  • Advanced Installer设置安装最后一步启动软件
    左侧用户界面中选择对话框-ExitDialog在完成操作项中勾选“安装结束时启动应用程序”,在弹出的对话框中选择需要启动的exe文件 ......
  • 进程间的通信方式——pipe(1、管道)
    本章内容采用pipe管道如何进行进程之间的通信pipe管道进程通信的规则和限制Linux中pipe管道的实现机制和管理pipe管道的结构体什么是进程通信进程通信就是两个进程之间进行数据交换,在Linux中有好几种可以进行进程通信的方式,在这篇文章中我们主要介绍最基本的进程通信方式——pipe管......
  • 使用conda 安装lumpy软件
     001、安装condacreate-nPy27python=2.7condaactivatePy27condainstall-cbiocondalumpy-svcondainstall-cbiocondasamblaster 002、版本测试(Py27)root@DESKTOP-IDT9S0E:/home/software/lumpy#lumpy--helpProgram:**********(v0.2.13)Author......
  • conda命令大全
    Anaconda毋庸置疑是利用Python进行科学计算最好的开源平台。这里整理一下Conda常用的命令。管理Conda检查conda版本conda--version升级当前版本condacondaupdateconda管理(虚拟)环境#创建一个名为python34的环境,指定Python版本是3.4(不用管是3.4.x,conda会为我们自......
  • Sitecore10 Demo演示环境Azure一键部署(Step By Step Guide to installing Sitecore10
    本文演示SitecoreXPSingle(XP0)在Azure上的一键部署,即“30分钟生成Sitecore演示环境”的一环。关于XP(即SitecoreExperiencePlatform)roles的相关介绍移步XPSingle配置主要用来开发和测试:FourSitecoreroles:ContentDelivery,ContentManagement,Processing,andRepo......
  • 解决npm install各种报错的6种方案 Error: Command failed: cmd.exe autoreconf -ivf
    报错示例:Error:Commandfailed:C:\Windows\system32\cmd.exe/s/c"autoreconf-ivf"gifsiclepre-buildtestfailedPSG:\code_all\my_webpack_webgl2021-5-17-dev_01\three151-demo>npminstallnpmnoticeBeginningOctober4,2021,allconnect......
  • python3.10升级pip命令-国内镜像源
    国内镜像源pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simplesome-packagepython3.10升级pip命令python.exe-mpipinstall--upgradepip安装pipinstallpip-review查看可更新pip-review批量自动更新pip-review--auto......