为什么使用点子容易
推文如下:
不要使用easy_install,除非你喜欢在自己的脸上刺伤自己。 使用点子。
为什么使用pip over easy_install? PyPI和包装作者大部分都不会犯这个错误吗? 如果作者将垃圾源tarball(例如:缺少文件,无setup.py)上传到PyPI,则pip和easy_install都将失败。 除了表面上的差异,为什么Python人(比如上面的推文)似乎强烈支持easy_install点数?
(让我们假设我们正在讨论由社区维护的Distribute包中的easy_install)
这里的许多答案在2015年已过时(尽管Daniel Roseman最初接受的答案并不是)。 以下是目前的状况:
.whl
文件)分发 - 不仅仅在PyPI上,而且在第三方存储库中,例如Christoph Gohlke的Windows扩展包。 pip
可以处理轮子; easy_install
不能。 virtualenv
添加到2.6 + / 3.1 +)已经成为一个非常重要和突出的工具(并且在官方文档中推荐)。 它们包括开箱即用的pip
,但甚至不能使用easy_install
正常工作。 easy_install
的distribute
包不再维护。 它对setuptools
改进已经合并回setuptools
。 尝试安装distribute
将仅安装setuptools
。 easy_install
本身只是准维护。 pip
用于比easy_install
安装 - 从解压源代码树安装,从DVCS回购等等安装的情况都很久了; 你可以点击pip install .
, pip install git+https://
。 pip
自带python.org的官方Python 2.7和3.4+包,默认情况下包含pip
bootstrap,如果您从源代码构建。 pip
称为“首选安装程序”。 pip
,永远不会存在于easy_install
。 例如, pip
可以通过构建需求文件,然后在每一侧使用单个命令进行安装,从而轻松克隆站点包。 或将您的需求文件转换为本地回购以用于内部开发。 等等。 我知道在2015年使用easy_install
的唯一好理由是使用Apple预装的Python版本OS X 10.5-10.8的特殊情况。 自10.5以来,Apple已经包含easy_install
,但从10.10开始,它们仍然不包括pip
。 使用10.9+,你仍然应该使用get-pip.py
,但是对于10.5-10.8,这有一些问题,所以sudo easy_install pip
更容易。 (一般来说, easy_install pip
是一个不好的主意;它只适用于OS X 10.5-10.8,您希望这样做。)另外,10.5-10.8包含readline
, easy_install
知道如何组装,但pip
不支持,所以你也想要sudo easy_install readline
如果你想升级。
从Ian Bicking自己的介绍到pip:
pip最初是通过以下方式编写的,旨在改进easy_install
另一个 - 尚未提及的 - 支持点差的理由是因为这是新的热点,并且将来会继续使用。
下面的图表来自“打包版本1.0漫游指南”中的“当前打包状态”部分 - 显示setuptools / easy_install将在未来消失。
这里是来自发行版文档的另一个信息图,显示Setuptools和easy_install将被新的hotness-distribute和pip所取代。 虽然pip仍然是新的热点,但2013年,随着Setuptools v0.7的发布,Distribute与Setuptools合并。
链接地址: http://www.djcxy.com/p/4471.html