Anaconda与EPD Enthought与手动安装Python

各种Python软件包(EPD / Anaconda)与手动安装相比较有哪些优缺点?

我已经安装了EPD学术,我没有问题。 它提供了更多的软件包,我认为我将永远需要,而且使用enpkg enstaller更新非常容易。 环保署的学历牌照要求每年更新一次,免费版本也不会轻易更新。

目前我真的只使用了一些包,如pandas , NumPy , SciPy , matplotlib , IPython , Statsmodels和他们各自的依赖。

对于这种有限的使用,我最好用手动安装和pip install --upgrade 'package'或捆绑提供什么超过这个?

2015年更新 :现在我总是推荐Anaconda。 它包含了大量用于科学计算,数据科学,Web开发等的Python软件包。它还提供了一个卓越的环境工具conda ,它允许在Python 2和Python 3之间轻松地切换环境。它也快速更新为一旦新版本的软件包发布了,你就可以使用conda update packagename来更新它。

下面的原始答案

在Windows上,编译math软件包非常复杂,所以我认为手动安装是一个可行的select,只有当你只对Python感兴趣时,没有其他软件包。

所以最好selectEPD(现在的Canopy)或者Anaconda。

Anaconda有大约270个软件包,其中包括NumPy , SciPy , Pandas , IPython , matplotlib , Scikit-learn等最重要的科学应用和数据分析软件。 所以如果这对你来说够了,我会selectAnaconda。

相反,如果您对其他软件包感兴趣,而且如果您使用任何Enthought软件包(例如Chaco对实时数据可视化非常有用),则EPD / Canopy可能是更好的select。 Academic版本在基本安装中有更多的软件包,还有更多的软件包在版本库中。 python也包括查科。

我在去年尝试了各种Windows发行版,试图find一个适合我的工作环境(在代理之后,但没有访问代理configuration)。

这是我的经验反馈:

环保署/林冠:我们有环保署的牌照,但由于代理情况不佳,我们无法更新。 为了添加一些软件包(如最新版本的xlrd / xlwt ),我从源代码编译。 为了更新SciPy和NumPy ,我使用了http://www.lfd.uci.edu/~gohlke/pythonlibs/中的预编译安装程序,但它有时会搞砸兼容性。; 我喜欢有一个完全configuration的Py2exe和Cython ,它只是开箱即用。

过了一段时间,我尝试安装Canopy的免费版本,但它缺lessCython和py2exe以及我需要的一些特定的高级打包,所以我从来没有真正使用它。 我的一些同事买了完整的Canopy许可证,但我们仍然不确定他们将如何更新…

Python(x,y):不想与许可证争执,我在家安装了Python(x,y)。 我现在注意到唯一的缺点是标准安装要求你select你想要的包。 这既是好的也是坏的,因为我不能确定我的客户将具有与我安装时完全相同的configuration。 (Enthought工具套件可以安装在Python(x,y)中。)使用Python(x,y)一段时间后,我注意到我安装了32位版本。 虽然在他们的网站上并不清楚,但是到2015年7月,他们似乎还没有64位版本。我将要卸载它并获得64位版本。

Anaconda:当我第一次写这个时,Anaconda似乎还没有足够的软件包。 几年后,似乎好多了,我会试试看!

手册:为了避免与旧EPD版本的版本兼容性问题,我最终使用手动Python安装,并从上面链接的LFD网站添加了额外的软件包。 它工作的很好,但我仍然build议Canopy给需要高级包(如GDAL或PyFITS )的新用户。

总结:如果你去冠层,获得完整的许可证(学术或购买)。 否则,请使用Python(x,y),它将最终保持一致。

在Ubuntu上:不需要分配。 这都是相对较新的(+/- 6个月是可以忍受的),并预先编制。 你只需要执行sudo apt-get install python python-scipy ,它就在那里! 最先进的软件包也在那里。

其他答案很好地覆盖了地面,所以我只想谈谈一个没有人提到的特定方面。 这可能是相当有利的,但它可能会在Linux系统下为某些人创造或破坏Anaconda或Canopy:

Anaconda Python构build使用UCS4 Unicode模式,而Enthought Canopy使用UCS2。

这实际上意味着如果你依赖于任何你不能编译自己的扩展(例如预编译的专有库),如果它们发生的不是为Python版本以相同的模式构build的,你可能会更快或者稍后运行到类似undefined symbol: PyUnicodeUCS4_AsUTF8String错误undefined symbol: PyUnicodeUCS4_AsUTF8String

根据PEP 0513 ,UCS4似乎目前更受欢迎和推荐。 而且,整个UCS兼容性问题似乎只影响2.x和<3.3版本。

我使用了Anaconda好几年了,并且非常喜欢它。 不幸的是, IPython Notebook (现在的Jupyter )在没有企业版的情况下是不可用的。

我想在教室里使用Jupyter笔记本,所以我换了Canopy。 安装我们需要的所有软件包似乎很容易。 诚然,我们并没有对它们进行全面testing。