pip和conda到底有什么不一样?

今天看到我的foreman开始报错去询问才发现。我们的python包管理工具已经从pip整体迁移到了conda。。最近的迁移真的非常多。。前端也在迁移打包

跟着发的教程弄了半天总算搞定,但是我非常疑惑。

为什么疑惑。。因为既然都是关于python的包管理工具为什么有了pip 我们还需要conda?在stackoverflow上搜到了答案 所以。我只做中文搬运 不做过多的污染

Having been involved in the python world for so long, we are all aware of pip, easy_install, and virtualenv, but these tools did not meet all of our specific requirements. The main problem is that they are focused around Python, neglecting non-Python library dependencies, such as HDF5, MKL, LLVM, etc., which do not have a setup.py in their source code and also do not install files into Python’s site-packages directory.

So Conda is a packaging tool and installer that aims to do more than what pip does; handle library dependencies outside of the Python packages as well as the Python packages themselves. Conda also creates a virtual environment, like virtualenv does.

As such, Conda should be compared to Buildout perhaps, another tool that lets you handle both Python and non-Python installation tasks.

Because Conda introduces a new packaging format, you cannot use pip and Conda interchangeably;  pip cannot install the Conda package format. You can use the two tools side by side but they do not interoperate either.

在python的世界里也浸淫多年了,我们早已习惯有 pip ,easy_install 和virtualenv的世界,但是这些工具没有解决我们所有的需求哦。这其中主要的问题是他们全部都集中解决关于python相关问题而忽略了非python库的依赖关系。(这句我没他看明白),就像 HDF5, MKL LLVM,etc等,在他们的源码中并没有setup.py这种东西而且也没有安装文件在python的site-packages 目录中。

所有conda就是一个包管理工具安装工具,他就是要做比pip更多的事情;在python-site-packages之外管理python 库依赖关系。 而且conda同样也像virtualenv一样创建一个虚拟环境。

conda可以让你同时管理安装处理你有关python的任务和跟python无关的任务

conda使用了一个新的包格式,你不能交替使用pip 和conda。因为pip不能安装和解析conda的包格式。你可以使用两个工具 但是他们是不能交互的。

另外,conda环境的启动命令也在这里记录一下:

启动source

activate xxx

关闭source 

deactivate

更新
conda env update -f environment.yml 更新配置文件

最新文章

  1. codevs 1490 【CTSC2008】 网络管理
  2. python scipy学习-曲线拟合
  3. Python Beautiful Soup学习之HTML标签补全功能
  4. 关于hibernate的n+1问题以及解决办法
  5. SQL Server 事务、异常和游标
  6. Codeforces Round #235 (Div. 2) B. Sereja and Contests
  7. 浅析 mondrian 模式文件 Schema
  8. 关于js中变量声明和作用域的理解
  9. hdoj 2087 剪花布条
  10. cf 85 E. Petya and Spiders
  11. java内存不足
  12. 【模拟】XMU 1599 斐波那契汤
  13. 一些Xcode 5的使用提示和技巧
  14. AngularJs ui-router 路由的介绍
  15. POSIX Timer
  16. python 学习笔记 2 ----> dive into python 3
  17. 使用异步任务降低API延迟_实践总结
  18. P4306 [JSOI2010]连通数
  19. 五、CLR加载程序集代码时,JIT编译器对性能的产生的影响
  20. Linux内核设计与实现 第五章

热门文章

  1. Enabling granular discretionary access control for data stored in a cloud computing environment
  2. 探索jquery方法中empty,remove与detach的区别
  3. linux process management
  4. windows下Redis 主从读写分离部署
  5. NS2网络模拟(5)-homework01.tcl
  6. 在运行Hfile的MR如果任务client结束OOM
  7. 图像滤镜艺术---LOMO Filter
  8. 使用tratto进行CISCO网络设备的管理
  9. SEED缓冲区溢出实验笔记——Return_to_libc
  10. DDD中的值对象如何用NHibernate进行映射