问题:Anaconda vs. EPD Enthought vs.手动安装Python [关闭]
与手动安装相比,各种Python捆绑包(EPD / Anaconda)有哪些相对优点/缺点?
我已经安装了EPD Academic,但没有任何问题。它提供了我认为我将永远需要的更多软件包,并且使用enpkg enstaller进行更新非常容易。EPD学术许可证需要每年更新一次,而免费版本的更新并不那么容易。
目前,我实际上只使用了一些软件包,例如Pandas,NumPy,SciPy,matplotlib,IPython,Statsmodels及其各自的依赖项。
对于这种有限的使用,我最好手动安装,pip install --upgrade 'package'
还是捆绑包提供了除此以外的其他功能?
回答 0
2015年更新:如今,我总是推荐水蟒。它包括许多用于科学计算,数据科学,Web开发等的Python程序包。它还提供了一个高级的环境工具conda
,该工具可以轻松地在环境之间切换,甚至在Python 2和3之间切换。它也很快得到了更新。当发布新版本的软件包时,您可以conda update packagename
进行更新。
以下为原始答案:
在Windows上,复杂的是编译数学软件包,因此,我认为仅当您仅对Python
而不是其他软件包感兴趣时,手动安装才是可行的选择。
因此最好选择EPD(现为Canopy)或Anaconda。
Anaconda大约有270个软件包,其中包括对于大多数科学应用程序和数据分析而言最重要的软件包,即NumPy,SciPy,Pandas,IPython,matplotlib,Scikit-learn。因此,如果这对您来说足够,我会选择Anaconda。
相反,如果您对其他软件包感兴趣,并且如果您使用任何Enthought软件包(例如Chaco对于实时数据可视化非常有用),则EPD / Canopy可能是一个更好的选择。学术版在基本安装中包含大量软件包,在存储库中包含更多软件包。Anaconda还包括Chaco。
回答 1
去年,我尝试了各种Windows发行版,试图为我的工作环境找到一个合适的版本(在代理之后,但无法访问代理配置)。
这是我的经验反馈:
EPD / Canopy: 我们拥有EPD许可证,但是它很旧,并且由于代理服务器情况怪异而无法更新。为了添加一些软件包(例如xlrd / xlwt的最新版本),我从源代码进行了编译。要更新SciPy和NumPy,我使用了http://www.lfd.uci.edu/~gohlke/pythonlibs/中的预编译安装程序,但有时会破坏兼容性。我喜欢拥有完全配置的Py2exe和Cython,它开箱即用。
过了一会儿,我尝试安装Canopy的免费版本,但是它缺少Cython和py2exe以及一些我需要的特定高级软件包,因此我从未真正使用过它。我的一些同事购买了完整的Canopy许可证,但是我们仍然不确定他们将如何更新…
Python(x,y): 不想在许可证上挣扎,我在家安装了Python(x,y)。我现在注意到的唯一缺点是标准安装要求您选择所需的软件包。这既有好处也有坏处,因为我不确定我的客户端将具有与安装时完全相同的配置。(可以在Python(x,y)中安装Enthought工具套件。)使用Python(x,y)一段时间后,我只是注意到我安装了32位版本。尽管在他们的网站上不清楚,但截至2015年7月,他们似乎还没有64位版本。我打算将其卸载并获得64位版本。
Anaconda: 当我第一次写这篇文章时,Anaconda似乎还没有足够的软件包。几年后,它似乎好多了,我将尝试一下!
手册: 为了避免与我们的旧EPD版本存在版本兼容性问题,我最终使用了手动安装Python,并从上面链接的LFD网站添加了其他软件包。效果很好,但我仍然向需要高级软件包(例如GDAL或PyFITS)的新用户建议Canopy 。
摘要:如果您要购买Canopy,请获取完整的许可证(学术版或购买的)。否则,使用Python(x,y),结果将相同。
在Ubuntu上:
不需要分发。这些都是相对较新的(可以容忍+/- 6个月)并已预编译。您只需要执行sudo apt-get install python python-scipy
就可以了!也有最高级的软件包。
回答 2
其他答案很好地覆盖了地面,因此我只想谈谈一个尚未提及的特定方面。它可能是相当利基的,但是对于Linux系统下的某些人来说,它可能会制造或破坏Anaconda或Canopy:
Anaconda Python版本使用UCS4 Unicode模式,而Enthought Canopy使用UCS2。
实际上,这意味着如果您依赖任何因某种原因而无法自行编译的扩展(例如,预编译的专有库),并且如果它们不是为使用相同模式的Python版本构建的,则可能会更快或以后遇到类似于的错误undefined symbol: PyUnicodeUCS4_AsUTF8String
。
根据PEP 0513,UCS4当前似乎更为流行和推荐。同样,整个UCS兼容性问题似乎仅影响2.x和<3.3版本。
回答 3
我使用Anaconda已有多年,并且非常喜欢它。不幸的是,如果没有企业版,则无法使用IPython Notebook(现在为Jupyter)。
我想在教室里使用Jupyter笔记本,所以我改用Canopy。安装我们需要的所有软件包似乎很容易。诚然,我们还没有对它们全部进行测试。