113

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

我已经安装了 EPD Academic,我对此没有任何问题。它提供了更多我认为我将需要的软件包,并且使用 enpkg enstaller 很容易更新。然而,环保署学术许可证需要每年更新,而免费版本的更新并不容易。

目前我真的只使用了一些包,比如PandasNumPySciPymatplotlibIPythonStatsmodels以及它们各自的依赖项。

对于这种有限的使用,我最好还是手动安装,pip install --upgrade 'package'或者捆绑包是否提供除此之外的任何东西?

4

4 回答 4

49

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

下面的原始答案

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

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

Anaconda 有大约 270 个包,包括对大多数科学应用程序和数据分析最重要的包,即NumPySciPyPandasIPythonmatplotlibScikit-learn。所以如果这对你来说足够了,我会选择 Anaconda。

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

于 2013-04-15T17:28:45.370 回答
11

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

以下是我的经验反馈:

EPD/Canopy: 我们有 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: 当我第一次写这篇文章时,Anaconda 似乎还没有足够的包。几年后,它似乎好多了,我要试一试!

手动: 为了避免与我们的旧 EPD 版本的版本兼容性问题,我最终使用手动 Python 安装并从上面链接的 LFD 网站添加额外的包。它效果很好,但我仍然会向需要高级软件包(如GDALPyFITS)的新用户推荐 Canopy。

摘要:如果您选择 Canopy,请获得完整许可证(学术或购买)。否则,使用 Python(x,y),它最终会是一样的。

在 Ubuntu 上: 不需要发行版。这都是相对较新的(+/- 6 个月是可以容忍的)并且是预编译的。你只需要执行sudo apt-get install python python-scipy它就在那里!大多数高级软件包也在那里。

于 2014-02-24T21:25:32.453 回答
4

其他答案很好地涵盖了基础,所以我只想评论一个尚未有人提及的特定方面。它可能相当小众,但对于 Linux 系统下的某些人来说,它可能会成就或破坏 Anaconda 或 Canopy:

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

这实际上意味着,如果您依赖任何由于任何原因无法自己编译的扩展(例如预编译的专有库),如果它们碰巧不是为具有相同模式的 Python 版本构建的,您可能会更快或稍后遇到类似于undefined symbol: PyUnicodeUCS4_AsUTF8String.

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

于 2016-02-18T14:47:57.387 回答
-4

我使用 Anaconda 多年,非常喜欢它。不幸的是,没有企业版, IPython Notebook(现在的Jupyter )就无法使用。

我想在课堂上使用 Jupyter 笔记本,所以我改用 Canopy。安装我们需要的所有软件包似乎很容易。诚然,我们还没有对它们进行全部测试。

于 2016-03-01T22:53:02.607 回答