【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
推文内容如下:
不要使用easy_install,除非你喜欢刺伤自己的脸。 使用点子。
为什么要使用pip而不是easy_install? 问题不在于PyPI和包装作者吗? 如果作者将垃圾源tarball(例如:丢失文件,没有setup.py)上传到PyPI,那么pip和easy_install都将失败。 除了化妆品差异,为什么Python人(如上面的推文)似乎强烈支持pip而不是easy_install?
(我们假设我们正在讨论来自Distribute包的easy_install,这是由社区维护的)
#1楼
作为fuzzyman的回复的补充:
pip不会安装二进制包,并且在Windows上没有经过良好测试。
由于Windows默认情况下没有编译器,因此pip通常不能在那里使用。 easy_install可以为Windows安装二进制包。
这是Windows上的一个技巧:
您可以使用
easy_install <package>
来安装二进制包以避免构建二进制文件即使您使用easy_install,也可以使用
pip uninstall <package>
。
这只是一个适用于Windows的解决方法。 实际上,如果不涉及二进制文件,我总是使用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
而不是egg为PySide
创建OS X安装程序来测试wheel
。 将回来并报告此事。
欢呼 - 克里斯
快速更新:
过渡到wheel
几乎结束了。 大多数包都是支撑wheel
。
我答应为PySide
制造轮子,去年夏天我就这样做了。 效果很好!
提示:到目前为止,一些开发人员未能支持轮式,只是因为他们忘记用setuptools
替换distutils
。 通常,通过在setup.py
替换此单个单词,可以轻松转换此类包。
#2楼
更新:正如一些人所想的那样, setuptools
吸收了distribute
,而不是相反。 setuptools
是最新的distutils
更改和轮式格式。 因此, easy_install
和pip
现在或多或少处于平等地位。
资料来源: http : //pythonhosted.org/setuptools/merge-faq.html#why-setuptools-and-not-distribute-or-another-name
#3楼
刚刚遇到一个我必须使用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
#4楼
这里的许多答案都是2015年的过时(尽管丹尼尔罗斯曼最初接受的答案不是)。 这是现状:
- 二进制包现在作为轮子(
.whl
文件)分发 - 不只是在PyPI上,而是在第三方存储库中,如Christoph Gohlke的Windows扩展包 。pip
可以处理轮子;easy_install
不能。 - 虚拟环境(内置3.4,或者可以通过
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+软件包,如果你从source构建,默认包含一个pip
引导程序。 - 有关安装,使用和构建软件包的各种不完整文档已被“ Python打包用户指南”取代。 Python自己的安装Python模块文档现在遵循本用户指南,并明确地将
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
。
#5楼
有两个原因,可能会有更多:
pip提供了一个
uninstall
命令如果安装在中间失败,则pip将使您处于干净状态。
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/3143214