pip - 为什么使用pip easy_install ?

  显示原文与译文双语对照的内容

一个 tweet 读取:

不要使用 easy_install,除非你喜欢在脸上戳自己。 使用 pip 。

为什么使用pip easy_install? 错误与PyPI和包作者不一致? 如果作者上传垃圾源 tarball ( 例如: 缺少文件,没有 setup 。py,那么pip和easy_install都会失败。 化妆品以外的差异,人们为什么 python ( 像上面的tweet中一样) 似乎想学点easy_install上跳啊?

( 我们假设我们正在谈论的是来自分发包的easy_install,它由社区维护)

时间:

Another—as是unmentioned—reason的,因为它是新的热门,将来将继续使用。

中的份信息图表 below—from 当前状态的包装导向Hitchhiker的要包装 v1.0 —shows,设置工具/easy_install就没有了在未来。

enter image description here

这是另一个从文档的分发显示的信息图设置工具和easy_install将被替换为新的hotness— 分发指间 。 虽然指间仍然是新的暑热,分发合并2013对于发行版的设置工具中设置工具 v0.7.

enter image description here

有两个原因,可能有更多:

  1. pip提供了一个 uninstall 命令

  2. 如果在中间安装失败,pip将使你处于干净状态。

需求文件。

严肃地说,我每天都会和 virtualenv 一起使用。


快速依存管理教程,GUYS

要求文件允许你创建通过pip安装的所有软件包的快照。 通过将这些软件包封装在一个virtualenvironment中,你可以让你的代码库在一个非常特定的软件包集合中工作,并与其他人共享代码库。

来自 heroku https://devcenter.heroku.com/articles/python的文档

创建一个虚拟环境,并将外壳设置为使用它。 ( bash/*nix指令)


virtualenv env
source env/bin/activate

现在所有 python 脚本都使用这个外壳程序运行这个环境和配置包。 现在你可以在本地安装一个软件包到这个环境,而无需在你的机器上安装它。

 
pip install flask

 

现在你可以转储有关安装了哪些软件包的信息


pip freeze> requirements.txt

如果你将该文件签入到版本控制中,当其他人获取你的代码时,他们可以设置自己的虚拟环境并安装所有的依赖项:


pip install -r requirements.txt

任何时候你都可以自动进行无聊,这很棒。

更新:setuptools 已经吸收了 distribute 而不是相反的方式,比如一些想法。 setuptools 是最新的distutils 更改和轮格式。 因此,easy_installpip 现在或多或少地相等。

源:http://pythonhosted.org/setuptools/merge-faq.html#why-setuptools-and-not-distribute-or-another-name

只是遇到了一个特例,我不得不使用 easy_install 而不是 pip,或者我必须直接提取源代码。

对于软件包 GitPythonpip 中的版本太旧,而 0.1.7 是,而 easy_install 是最新版本。

我正在使用 Python 2.7.8 。我不确定 easy_installpip的参考底图机制,但至少有些软件包的版本不同,有时 easy_install 是有较新版本的。


easy_install GitPython

...