conda ≈ pip(python包管理) + virtualenv(虚拟环境) + 非python依赖包管理

级别不一样conda和yum比较类似,可以安装很多库,不限于Python。conda是创建一个局部的环境,并安装相应包;pip是安装包到原有的环境中。

pip install会检查一些依赖包并给你安装,而conda的这种检查更多,甚至会把你已有的卸了替换成他认为合适的...反正conda我只是拿来管理,安装一直是pip install...conda install真心不太喜欢乱检测乱适配....

1.pip只能安装python包,而conda可以安装由任何语言编写的包

2.pip不能创建虚拟环境,需要借助另外的包,例如virtualenv,而conda可以创建虚拟环境。

3.pip是按照python时自带的,而conda需要安装anaconda才能用。

pip pip install xxx,在特定环境里使用pip,下载的包会存在特定环境的目录里面,例如:
D:\Anaconda3\envs\nlp\Lib\site-packages\fasttext使用pip uninstallxxx,包就卸载掉了,也可以用
conda remove--name nlp--all 来删除环境
conda conda install xxx,不管在什么环境下载的包,都统一放在一个目录里面:
D:\Anaconda3\pkgs\fasttext这个fasttext里面也有site-packages文件夹
在某个环境下面下载了某个包,再到另外一个环境下载同样的包,conda会自动在上面的目录里面找,如果有,就不会重复下载,而是将这个包的site-packages下的文件复制到当前环境下(和直接pip install一样)使用conda uninstall xxx时,和pip uninstall一样,删除了当前环境site-packages里面的包内容,但是在上述目录里面还存在这这个包,此时再到另外一个环境下载这个包,还是将site-packages复制一份到当前环境下,做到了一次下载,到处使用。

参考:https://www.zhihu.com/question/395145313/answer/1230725052

pip是用来安装python包的,安装的是python wheel或者源代码的包。从源码安装的时候需要有编译器的支持,pip也不会去支持python语言之外的依赖项。

conda是用来安装conda package,虽然大部分conda包是python的,但它支持了不少非python语言写的依赖项,比如mkl cuda这种c c++写的包。然后,conda安装的都是编译好的二进制包,不需要你自己编译。所以,pip有时候系统环境没有某个编译器可能会失败,conda不会。这导致了conda装东西的体积一般比较大,尤其是mkl这种,动不动几百兆甚至一G多。

然后,conda功能其实比pip更多。pip几乎就是个安装包的软件,conda是个环境管理的工具。conda自己可以用来创建环境,pip不能,需要依赖virtualenv之类的。意味着你能用conda安装python解释器,pip不行。这一点我觉得是conda很有优势的地方,用conda env可以很轻松地管理很多个版本的python,pip不行。

然后是一些可能不太容易察觉的地方。conda和pip对于环境依赖的处理不同,总体来讲,conda比pip更加严格,conda会检查当前环境下所有包之间的依赖关系,pip可能对之前安装的包就不管了。这样做的话,conda基本上安上了就能保证工作,pip有时候可能装上了也不work。不过我个人感觉这个影响不大,毕竟主流包的支持都挺不错的,很少遇到broken的情况。这个区别也导致了安装的时候conda算依赖项的时间比pip多很多,而且重新安装的包也会更多(会选择更新旧包的版本)。

最后,pip的包跟conda不完全重叠,有些包只能通过其中一个装。

https://www.zhihu.com/question/395145313

conda可以安装的库都是Anaconda公司或第三方打包、编译,提交到anaconda服务器的,包括一些python库(肯定不全),也包括一些C++的库。可能还有R语言的?

pip就是python官方的包管理。

conda中包括一些C++库,一般都是和python的科学计算有关的。比如可以直接安装这些C++库:

  • conda install cudatoolkit
  • conda install mkl
  • conda install hdf5

当你通过conda安装TensorFlow的时候:

  • conda install tensorflow-gpu

你就获得了编译链接到cuda和mkl加持的tensorflow库,同时还有编译链接到mkl上的numpy。

参考:https://www.zhihu.com/question/395145313/answer/1247325175

conda install和pip install区别的更多相关文章

  1. sudo apt-get install 、 pip install和conda install的对比

    sudo apt-get install: apt-get可以用来安装软件.更新源,也可以用来更新自Ubuntu的典型依赖包. (sudo apt-get remove --purge 软件名称 su ...

  2. apt-get install 和 pip install的区别

    pip install apt-get install 源是pyPI 源是ubuntu仓库 对于同一个包,pyPI可以提供更多的版本以供下载 pip install安装的python包,可以只安装在当 ...

  3. 使用python -m pip install 和 pip install 安装包有什么区别?

    如果去看源码的话,你会发现 pip 作为执行文件的入口点是 pip._internal.main. 另一方面,pip 作为模块运行时入口是 _main.py,而该模块也只是调用 pip.interna ...

  4. Pip install lxml centOSFailed building wheel for lxml

    转到虚拟环境目录:yum install libxslt-devel libxml2-devel yum install python-devel pip install lxml

  5. pip install tushare

    1.sudo apt-get install libxml2-dev libxslt1-dev python-dev apt-get install libevent-dev pip install ...

  6. pip install PIL The _imagingft C module is not installed

    需要先删除PIL再进行安装 sudo pip uninstall -y PIL 删除PIL相关文件夹:/usr/local/bin/pil , usr/lib/python2.7/dist-packa ...

  7. 为 pip install 设置 socks5 代理

    参考 How to use pip with socks proxy? 为 pip install 设置 socks5 代理 设置方法: pip install pysocks pip install ...

  8. 自定义的库加载不进来,因为库中import的PIL和pillow文件没有pip install

    1.自定义的库,加载进来,提示red不能识别这个class或moudle 2.应该展开细节多看下,细节中提示,没有PIL和pillow 3.这个时候在cmd中使用pip安装PIL和pillow pip ...

  9. pip install报错Can't roll back cryptography; was not uninstalled

    当使用pip install或者pip install --upgrade报错 Can't roll back cryptography; was not uninstalled 可以进行以下的尝试: ...

随机推荐

  1. JS 实现下拉框去重

    JS 实现下拉框去重 学习内容: 需求 总结: 学习内容: 需求 用 JS 下拉框去重 实现代码 <html> <head> <meta http-equiv=" ...

  2. 入行数字IC验证的一些建议

    0x00 首先,推荐你看两本书,<"胡"说IC菜鸟工程师完美进阶>(pdf版本就行)本书介绍整个流程都有哪些岗位,充分了解IC行业的职业发展方向.<SoC设计方法 ...

  3. 轻量化安装 TKEStack:让已有 K8s 集群拥有企业级容器云平台的能力

    关于我们 更多关于云原生的案例和知识,可关注同名[腾讯云原生]公众号~ 福利: ①公众号后台回复[手册],可获得<腾讯云原生路线图手册>&<腾讯云原生最佳实践>~ ②公 ...

  4. CPU乱序执行问题

    CPU为了提高执行效率,会在一条指令执行的过程中(比如去内存读数据,读数据的过程相较于CPU的执行速度慢100倍以上,cpu处于等待状态),这个时候cpu会分析接下来的指令是否正在执行的指令相关联,如 ...

  5. 初识tomcat和servlet

    web相关概念回顾 软件架构 C/S:客户端/服务器端 B/S:浏览器/服务器端 资源分类 静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏览器解析 如: html, ...

  6. Git上传本地仓库文件到Gitee(Github同理)

    前言:本来想把最近的代码更新到Github上,但是校园网打不开,于是决定暂时先更新到Gitee中,Github中的操作也同理. 1. 创建云仓库: 就是在Gitee/Github上创建仓库,这里不演示 ...

  7. 【简单dfs】Bubble Cup 14 - Finals Online Mirror (Unrated, ICPC Rules, Teams Preferred, Div. 2), problem: (J) Robot Factory,

    传送门  Problem - 1600J - Codeforces 题目   题意 给定n行m列, 求每个连通块由多少格子组成,并将格子数从大到小排序输出 对于每个格子都有一个数(0~15),将其转化 ...

  8. GET sql注入

    靶机地址:192.168.43.156 攻击机地址:192.168.43.89 一.AppScan检查靶机sql漏洞 二.使用sqlmap利用SQL注入漏洞 1.sqlmap -u " ht ...

  9. 2021.07.02 P1383 高级打字机题解(可持久化平衡树)

    2021.07.02 P1383 高级打字机题解(可持久化平衡树) 分析: 从可以不断撤销并且查询不算撤销这一骚操作可以肯定这是要咱建一棵可持久化的树(我也只会建可持久化的树,当然,还有可持久化并查集 ...

  10. 2021.07.02 UVa1197 多路归并模板

    2021.07.02 UVa1197 多路归并模板 UVA11997 K Smallest Sums - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 分析: 题解 UVA11997 ...