Anaconda 与 EPD Enthought 与手动安装 Python

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/15762943/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-18 20:55:50  来源:igfitidea点击:

Anaconda vs. EPD Enthought vs. manual installation of Python

pythonepd-pythonanaconda

提问by John

What are the relative merits / downsides of various Python bundles (EPD / Anaconda) vs. a manual install?

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

I have installed EPD academic, and I have no issues with it. It provides more packages that I think I will ever need, and it is very easy to update using enpkg enstaller. The EPD academic licence requires yearly renewal however and the free version does not do updates as easily.

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

At the moment I really only use a handful of packages such as Pandas, NumPy, SciPy, matplotlib, IPython, Statsmodelsand their respective dependencies.

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

For such limited use am I better off with manual install and pip install --upgrade 'package'or do the bundles offer anything over and above this?

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

采纳答案by Andrea Zonca

Update 2015: Nowadays I always recommend Anaconda. It includes lots of Python packages for scientific computing, data science, web development, etc. It also provides a superior environment tool, conda, which allows to easily switch between environments, even between Python 2 and 3. It is also updated very quickly as soon as a new version of a package is released, and you can just do conda update packagenameto update it.

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

Original answer below:

原答案如下

On Windows, what is complicated is to compile the math packages, so I think a manual install is a viable option only if you are interested only in Python, without other packages.

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

Therefore better chose either EPD (now Canopy) or Anaconda.

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

Anaconda has around 270 packages, including the most important for most scientific applications and data analysis, that is, NumPy, SciPy, Pandas, IPython, matplotlib, Scikit-learn. So if this is enough for you, I would choose Anaconda.

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

Instead, if you are interested in other packages, and even more if you use any of the Enthought packages (Chacofor example is very useful for realtime data visualization), then EPD/Canopy is probably a better choice. The Academic version has a larger number of packages in the base install, and many more in the repository. Anaconda also includes Chaco.

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

回答by PhilMacKay

I have tried various Windows distributions in the last year, trying to find one sutable for my work environment (behind a proxy, but without access to proxy configuration).

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

Here is my feedback from experience:

以下是我的经验反馈:

EPD/Canopy:We had a license of EPD, but it was old and we were unable to update becasue of the weird proxy situation. In order to add some packages (such as recent version of xlrd/xlwt), I compiled from source. To update SciPyand NumPy, I used the precompiled installer from http://www.lfd.uci.edu/~gohlke/pythonlibs/, but it would sometimes screw up compatibility. I loved having a fully configured Py2exeand Cython, and it simply worked out of the box.

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

After a while, I tried installing the free version of Canopy, but it lacks Cython and py2exe and some specific advanced packaged I needed, so I never really used it. Some of my colleagues bought the full Canopy license, but we're still not sure how they're going to update...

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

Python(x,y):Not wanting to struggle with licenses, I installed Python(x,y) at home. The only downside I noticed right now is that the standard installation requires you to select which packages you want. It's both a good and a bad point, because I can't be sure that my clients will have the exact same configuration as I do when I install. (The Enthought tool suite can be installed in Python(x,y).) After using Python(x,y) for a while, I just noticed I installed the 32 bit version. Although it is not clear on their website, it seems they don't have a 64 bit version as of July 2015. I'm going to uninstall it and get a 64 bit distribution.

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

Anaconda:When I first wrote this, Anaconda didn't seem to have enough packages yet. A couple of years later, it seems much better, I'm going to give it a try!

Anaconda:当我第一次写这篇文章时,Anaconda 似乎还没有足够的包。几年后,似乎好多了,我要试一试!

Manual:In order to avoid version compatibility issues with our old EPD version, I ended up using manual Python installation and adding additional packages from the LFD website linked above. It works great, but I would still suggest Canopy to a new user who requires advanced packages (like GDALor PyFITS).

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

Summary:If you go for Canopy, get the full licence (Academic or purchased). Else, go with Python(x,y), it will end up being the same.

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

On Ubuntu:No need for a distribution. It's all relatively recent (+/- 6 months is tolerable) and pre-compiled. You just need to execute sudo apt-get install python python-scipyand it's there! Most advanced packages are there as well.

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

回答by Dologan

The other answers cover the ground quite nicely, so I just want to remark on one particular aspect that nobody has mentioned yet. It is probably fairly niche, but it maypotentially make or break Anaconda or Canopy for some people under Linux systems:

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

Anaconda Python builds use the UCS4 Unicode mode, whereas Enthought Canopy uses UCS2.

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

What this means in practical terms is that if you rely on any extensions which you cannot compile yourself for whatever reason (e.g. pre-compiled proprietary libraries), if they happen not to be built for a Python version with the same mode, you may sooner or later run into errors that look something like undefined symbol: PyUnicodeUCS4_AsUTF8String.

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

According to PEP 0513, UCS4 seems to currently be more popular and recommended. Also, the whole UCS compatibility issues seem to only affect 2.x and < 3.3 versions.

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

回答by JLeC

I used Anaconda for years and liked it quite a bit. Unfortunately, IPython Notebook(now Jupyter) is unavailable without the enterprise edition.

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

I want to use Jupyter notebooks in the classroom, so I switched to Canopy. It seems easy enough to install all of the packages we need. Admittedly, we haven't tested them all.

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