推文内容以下: html
不要使用easy_install,除非你喜欢刺伤本身的脸。 使用点子。 python
为何要使用pip而不是easy_install? 问题不在于PyPI和包装做者吗? 若是做者将垃圾源tarball(例如:丢失文件,没有setup.py)上传到PyPI,那么pip和easy_install都将失败。 除了化妆品差别,为何Python人(如上面的推文)彷佛强烈支持pip而不是easy_install? git
(咱们假设咱们正在讨论来自Distribute包的easy_install,这是由社区维护的) ide
做为fuzzyman的回复的补充: 工具
pip不会安装二进制包,而且在Windows上没有通过良好测试。 测试
因为Windows默认状况下没有编译器,所以pip一般不能在那里使用。 easy_install能够为Windows安装二进制包。 spa
这是Windows上的一个技巧: code
您可使用easy_install <package>
来安装二进制包以免构建二进制文件 htm
即便您使用easy_install,也可使用pip uninstall <package>
。 ip
这只是一个适用于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
替换此单个单词,能够轻松转换此类包。
更新:正如一些人所想的那样, setuptools
吸取了distribute
,而不是相反。 setuptools
是最新的distutils
更改和轮式格式。 所以, easy_install
和pip
如今或多或少处于平等地位。
资料来源: http : //pythonhosted.org/setuptools/merge-faq.html#why-setuptools-and-not-distribute-or-another-name
刚刚遇到一个我必须使用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
这里的许多答案都是2015年的过期(尽管丹尼尔罗斯曼最初接受的答案不是)。 这是现状:
.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+软件包,若是你从source构建,默认包含一个pip
引导程序。 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
。
有两个缘由,可能会有更多:
pip提供了一个uninstall
命令
若是安装在中间失败,则pip将使您处于干净状态。