【python基础】—pip与conda的区别


一、 pip 与 conda

1、支持语言

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

2、Repo源

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

3、包的内容

  • pip 里的软件包为wheel版或者源码发行版,wheel属于已编译发新版本的一种,下载好后可以直接使用;而源代码发行版必须要经过编译生成可执行程序后才能使用,编译的过程是用户的机子上进行的,可能要求系统安装兼容的编译器和库。

  • conda 里软件包都是二进制文件,下载后即可以使用,不需要经过编译。

4、环境隔离

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

5、依赖关系

  • pip 安装包时,尽管也对当前包的依赖做检查,但是并不保证当前环境的所有包的所有依赖关系都同时满足。当某个环境所安装的包越来越多,产生冲突的可能性越来越大。
  • conda 会检查当前环境下所有包之间的依赖关系,保证当前环境里所有包的所有依赖都会被满足。

6、总结

  • pip 可以在任何环境中安装包,但是只能安装Python包。
  • conda 只能在conda环境中安装包,但是可以安装各种语言、各种类型的包。

二、pip install 与 conda install

1、库的存储位置

  • 在conda虚拟环境下, 执行"pip install 安装的库"命令,如果使用系统的python,则库会被保存在 “~/.local/lib/python3.x/site-packages” 文件夹中;如果使用的是conda内置的python,则会被保存到 “anaconda3/envs/current_env/lib/site-packages” 中。(如果想要修改pip的默认安装路径?可以参考文章:https://blog.csdn.net/sodaloveer/article/details/140175054)

  • 执行 “conda install 安装的库” 命令,都会被放在 “anaconda3/pkgs” 目录下,这样的好处就是,当在某个环境下已经下载好了某个库,再在另一个环境中还需要这个库时,就可以直接从pkgs目录一将该库复制至新环境而不用重复下载。

2、总结

  • pip下的list是conda下list的子集。
    • 所以"conda list" 显示列表数据 大于 "pip list"显示列表数量,因为"conda list"除了可以查询当前虚拟环境和关联环境下的python包,还有非python包。“pip list” 只能查询当前虚拟环境下的python包。

三、pip uninstall 与 conda uninstall

  • 执行"pip uninstall 安装的库"命令,如果使用系统的python,则库会被在 "~/.local/lib/python3.x/site-packages"文件夹中卸载;如果使用的是conda内置的python,则会被在"anaconda3/envs/current_env/lib/site-packages"中卸载。

  • 执行 “conda uninstall 安装的库” 命令删除当前环境下某个库,删除的只是当前环境下 “site-packages” 目录中该库的内容,它的效果和通过执行 “pip uninstall 安装的库” 命令是一样的,如果再到另一个环境中通过 “conda install 安装的库” 命令下载这个库,则还是通过将 “anaconda3/pkgs” 目录下的库复制到当前环境,若要清空"anaconda3/pkgs" 目录下已经下载的库,可以通过执行 “conda clean -h” 命令实现。


参考文章:
https://blog.csdn.net/whc18858/article/details/127135973
https://blog.csdn.net/FrankieHello/article/details/106083428
https://blog.csdn.net/weixin_43913261/article/details/124775773

  • 27
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pythonpip安装和conda安装有以下几个区别: 1. 安装范围:pip主要用于安装Python包,而conda不仅可以安装Python包,还可以安装通用的Linux软件、gcc库等。\[3\] 2. 依赖项处理:conda会检查当前环境下所有包之间的依赖关系,保证安装的包能够正常工作,而pip可能对之前安装的包就不再关注。这使得conda安装的包更加严格和可靠。\[2\] 3. 环境管理:conda是一个环境管理工具,可以用来创建和管理多个版本的Python环境,而pip需要依赖于其他工具如virtualenv来实现环境管理。这使得conda在管理多个Python版本方面更加方便。\[2\] 4. 安装方式:pip安装的是Python wheel或源代码包,需要有编译器的支持,而conda安装的是编译好的二进制包,不需要自己编译。这使得conda在某些系统环境下安装更加稳定,而pip可能会因为缺少某个编译器而失败。\[2\] 5. 包的数量:pip安装的包数量要远远多于conda,因为conda主要集中在Python包上,而pip可以安装更多的第三方包。\[3\] 综上所述,pipconda在安装范围、依赖项处理、环境管理、安装方式和包的数量等方面存在一些区别。具体选择哪种安装方式取决于你的需求和使用场景。 #### 引用[.reference_title] - *1* [condapip都可以安装Python包,那么它们有哪些区别呢?](https://blog.csdn.net/qq_38727995/article/details/125153858)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [python使用pipconda区别](https://blog.csdn.net/weixin_42641188/article/details/125540359)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [condapip区别,安装package包,虚拟环境](https://blog.csdn.net/deer2019530/article/details/127713528)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值