2013-04-07 14 views
7

针对Windows的SimpleCV框架“简化”安装超级包装尝试失败后。我现在正在通过一个手动安装指南(我很好,因为我对安装有更多的控制权,并且可能最终了解如何在Windows中正确安装Python程序包!)python框架安装指南为什么会建议使用easy_install来安装一些必需的软件包和其他软件包?

而不仅仅是盲目地遵循指南I “M试图了解每一步,所以我这个很困惑..

easy_install pyreadline 
easy_install PIL 
easy_install cython 
easy_install pip 
pip install ipython 
pip install https://github.com/ingenuitas/SimpleCV/zipball/1.3 

为什么不使用easy_install尽快然后点子其他包点子?..

easy_install pip  {{{I intend to research and probably use get-pip.py here}}} 
pip install pyreadline   
pip install PIL 
pip install cython 
pip install ipython 
pip install https://github.com/ingenuitas/SimpleCV/zipball/1.3 

是有ap它是这样做的吗? (我有限的理解是,总是最好使用点而不是easy_install。)

我知道这个问题直接关系到SimpleCV,但我想学习正确的方法,以便在未来安装包集合时没有受益指导。

回答

5

pip提取您尝试安装并编译的软件包的源代码。因此,如果没有安装和配置编译器,那么对于包含以C语言编写的扩展的软件包(在本例中适用于pyreadline,PILcython),将无法这样做。

easy_install使用来自pypi的预编译包(至少对于Windows来说,如果它们可用的话),这意味着你不需要自己编译所有东西。

对于纯Python包,使用pip而不是easy_install是没有问题的,如果你有一个编译器和需要的编译依赖项,它也应该可以工作。

+0

谢谢你这样一个清晰的答案马塔!我只是想:“我们将他们都下载这个软件包,有什么区别?(除了点子带来的好处) - 我没有考虑到下载的内容,所以再次感谢您的解决。 它确实会引发如何确定软件包是否是纯Python的问题,我应该默认只是尝试pip,如果尝试编译失败,请使用easy_install? – 2013-04-07 20:10:44

+1

这就是我通常所做的事情。 pypi,所以偶尔它会从项目的主页安装一个更新的版本,然后从pypi安装一个更新的版本。如果'C'在描述中被列为'编程语言',你也可以直接看pypi。 – mata 2013-04-07 20:15:54

+0

是注意到了语言在PyPi中引用,并不确定这是否仅仅是一个元标签,指示包可能以某种方式与C相关,而不是绝对拥有C源代码(例如,编写“C”教程包n纯python)。 – 2013-04-07 20:31:44

2

我相信答案是pip目前不支持安装二进制发行版,即包含预编译C扩展模块的Python软件包。 easy_install呢。

顺便提一下,我们正在努力为pip(和easy_install)提供替代品,以完全支持所有平台上的二进制分发。有关概览,请参阅here

+0

好的,谢谢你奈德,所以有时不得不求助于easy_install的另一个原因。我会密切关注未来的发展,因为我也处于使用分发代替setuptools的混乱状态。 – 2013-04-07 20:18:46