Anaconda vs. EPD Enthought与Python的手动安装

时间:2013-04-02 11:29:01

标签: python epd-python anaconda

各种Python捆绑包(EPD / Anaconda)与手动安装的相对优缺点是什么?

我已经安装了EPD学术,我没有任何问题。它提供了我认为我将需要的更多软件包,并且使用enpkg enstaller进行更新非常容易。 EPD学术许可证要求每年更新一次,免费版本不会轻易更新。

目前我实际上只使用了少量软件包,例如PandasNumPySciPymatplotlibIPython,{{3}和他们各自的依赖。

对于这种限制使用,我最好手动安装和pip install --upgrade 'package',还是捆绑包提供超出此范围的任何内容?

4 个答案:

答案 0 :(得分:47)

更新2015 :现在我总是推荐Anaconda。它包括许多用于科学计算,数据科学,Web开发等的Python软件包。它还提供了一个优秀的环境工具conda,它允许在环境之间轻松切换,甚至在Python 2和3之间。它也是一旦发布了新版本的软件包,就会很快更新,您只需conda update packagename进行更新即可。

以下原始答案

在Windows上,复杂的是编译数学包,所以我认为只有当你只对Python感兴趣而没有其他包时,手动安装才是可行的选择。

因此,最好选择EPD(现为Canopy)或Anaconda。

Anaconda有大约270个软件包,其中包括对大多数科学应用程序和数据分析最重要的软件包,即NumPySciPyPandasIPython,{{ 3}},matplotlib。 所以如果这对你来说足够了,我会选择Anaconda。

相反,如果您对其他软件包感兴趣,如果您使用任何Enthought软件包(例如Scikit-learn对实时数据可视化非常有用),那么EPD / Canopy可能是更好的选择。学术版本在基本安装中具有更多数量的包,并且在存储库中有更多包。 Anaconda还包括Chaco。

答案 1 :(得分:11)

我去年尝试了各种Windows发行版,试图为我的工作环境找到一个sutable(在代理后面,但无法访问代理配置)。

以下是我对经验的反馈:

<强> EPD /敞篷: 我们有EPD的许可证,但由于奇怪的代理情况我们无法更新。为了添加一些包(例如最新版本的xlrd/xlwt),我从源代码编译。要更新SciPyNumPy,我使用了来自http://www.lfd.uci.edu/~gohlke/pythonlibs/的预编译安装程序,但有时会破坏兼容性。我喜欢拥有完全配置的Py2exeCython,而且它只是开箱即用。

过了一会儿,我尝试安装Canopy的免费版本,但它缺少Cython和py2exe以及我需要的一些特定的高级打包,所以我从未真正使用它。 我的一些同事购买了完整的Canopy许可证,但我们仍然不确定他们将如何更新......

<强>的Python(X,Y): 不想与许可证斗争,我在家里安装了Python(x,y)。我现在注意到的唯一缺点是标准安装要求您选择所需的软件包。这既好又坏,因为我不能确定我的客户端将具有与安装时完全相同的配置。 (Enthought工具套件可以用Python(x,y)安装。) 在使用Python(x,y)一段时间后,我只是注意到我安装了32位版本。虽然它们的网站上并不清楚,但截至2015年7月它们似乎没有64位版本。我将卸载它并获得64位版本。

<强>蟒: 当我第一次写这篇文章时,Anaconda似乎还没有足够的软件包。几年后,似乎好多了,我打算试一试!

<强>手册: 为了避免与我们旧的EPD版本的版本兼容性问题,我最终使用手动Python安装并从上面链接的LFD网站添加其他包。它运行良好,但我仍然建议Canopy给需要高级软件包的新用户(例如GDALPyFITS)。

摘要:如果您选择Canopy,请获取完整许可(学术版或购买版)。否则,使用Python(x,y),它最终将是相同的。

在Ubuntu上: 无需分发。这些都是相对较新的(+/- 6个月是可以容忍的)和预编译。你只需要执行sudo apt-get install python python-scipy就可以了!最先进的包也在那里。

答案 2 :(得分:4)

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

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

这实际上意味着,如果您依赖于任何无法自行编译的扩展(例如预编译的专有库),如果它们不是为具有相同模式的Python版本构建的,您迟早会遇到类似undefined symbol: PyUnicodeUCS4_AsUTF8String的错误。

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

答案 3 :(得分:-4)

我使用Anaconda已经很多年了,并且非常喜欢它。遗憾的是,IPython Notebook(现在Jupyter)在没有企业版的情况下无法使用。

我想在教室里使用Jupyter笔记本,所以我切换到了Canopy。安装我们需要的所有软件包似乎很容易。诚然,我们还没有测试过它们。