一条推文写道:

不要使用easy_install,除非您 就像捅自己的脸一样。 使用脉冲。

为什么使用pip而不是easy_install?错误不主要在于PyPI和包作者吗?如果作者上传垃圾源tarball(例如:丢失文件,没有setup.py)到PyPI,那么pip和easy_install都将失败。除了外观上的差异之外,为什么Python使用者(就像上面的推文一样)似乎更喜欢pip而不是easy_install?

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


当前回答

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

对于GitPython包,pip中的版本太旧,为0.1.7,而easy_install中的版本是最新的,为0.3.2.rc1。

我使用的是Python 2.7.8。我不确定easy_install和pip的底层机制,但至少有些包的版本可能彼此不同,有时easy_install是版本较新的包。

easy_install GitPython

其他回答

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

对于GitPython包,pip中的版本太旧,为0.1.7,而easy_install中的版本是最新的,为0.3.2.rc1。

我使用的是Python 2.7.8。我不确定easy_install和pip的底层机制,但至少有些包的版本可能彼此不同,有时easy_install是版本较新的包。

easy_install GitPython

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

PIP提供了一个卸载命令 如果安装中途失败,PIP将使您处于干净的状态。

偏爱pip的另一个尚未提及的原因是,它是新的热门词,在未来还会继续使用。

下面的信息图——摘自《打包指南v1.0》中的“打包的当前状态”一节——表明setuptools/easy_install在将来会消失。

下面是另一个来自distribute文档的信息图,显示Setuptools和easy_install将被新的hot - distribute和pip所取代。虽然pip仍然是新的热点,但在2013年,随着Setuptools v0.7的发布,Distribute与Setuptools合并了。

作为对fuzzyman回复的补充:

pip不会安装二进制包,并且在Windows上没有经过很好的测试。 由于Windows默认情况下没有编译器,pip通常不能 使用。easy_install用于安装Windows的二进制包。

这里有一个关于Windows的技巧:

您可以使用easy_install <package>来安装二进制包,以避免生成二进制文件 即使使用easy_install,也可以使用PIP uninstall <package>。

这只是一个变通的工作,为我的窗户。 实际上,如果不涉及二进制文件,我总是使用pip。

查看当前pip doku: http://www.pip-installer.org/en/latest/other-tools.html#pip-compared-to-easy-install

我会在邮件列表上询问有什么计划。

以下是最新更新:

新支持的安装二进制文件的方式将是wheel! 它还没有达到标准,但差不多了。当前版本仍然是alpha: 1.0.0a1

https://pypi.python.org/pypi/wheel

http://wheel.readthedocs.org/en/latest/

我将通过使用wheel而不是eggs为PySide创建一个OS X安装程序来测试wheel。会回来报告这件事的。

干杯——克里斯

快速更新:

向车轮的过渡几乎结束了。大多数包都是支承轮。

我答应为PySide做轮子,去年夏天我就做了。工作好了!

提示: 到目前为止,一些开发人员未能支持轮式格式,只是因为他们忘记了 用setuptools替换distutils。 通常,通过替换setup.py中的这个单词就可以很容易地转换这样的包。

pip不会安装二进制包,并且在Windows上没有经过很好的测试。

由于Windows默认没有编译器,pip通常不能在那里使用。easy_install用于安装Windows的二进制包。