与手动安装相比,各种Python包(EPD / Anaconda)的优缺点是什么?
我已经安装了EPD学术版,我对它没有任何问题。它提供了更多的包,我认为我将永远需要,它是非常容易更新使用enpkg enstaller。然而,环保署的学术执照需要每年续期,而免费版本的更新则不那么容易。
目前,我实际上只使用了少数几个包,如Pandas、NumPy、SciPy、matplotlib、IPython、Statsmodels以及它们各自的依赖项。
对于这种有限的使用,我是使用手动安装和pip install --upgrade 'package'更好,还是捆绑包提供了更多的东西?
发布于 2013-04-16 01:28:45
更新2015:现在我总是推荐蟒蛇。它包含大量的Python包,用于科学计算、数据科学、web开发等。它还提供了一个优秀的环境工具conda,它允许在环境之间轻松切换,甚至在Python2和Python3之间切换。它还会在新版本的包发布后迅速更新,您可以只需执行conda update packagename来更新它。
下面的原始答案
在Windows上,编译数学软件包很复杂,所以我认为只有当你只对Python感兴趣,而没有其他软件包时,手动安装才是一个可行的选择。
因此最好选择EPD (现在的Canopy)或Anaconda。
蟒蛇有大约270个软件包,包括最重要的科学应用程序和数据分析,即NumPy,SciPy,Pandas,IPython,matplotlib,Scikit-learn。因此,如果这对你来说足够了,我会选择Anaconda。
相反,如果你对其他软件包感兴趣,甚至更感兴趣,如果你使用任何Instead软件包(例如Chaco对于实时数据可视化非常有用),那么EPD/Canopy可能是更好的选择。学术版在基础安装中有更多的包,在存储库中有更多的包。Anaconda也包括查科。
发布于 2014-02-25 05:25:32
去年,我尝试了各种Windows发行版,试图找到适合我工作环境的发行版(在代理之后,但无法访问代理配置)。
以下是我的经验反馈:
环保署/树冠:我们有环保署的许可证,但它太旧了,由于奇怪的代理情况,我们无法更新。为了添加一些包(比如最新版本的xlrd/xlwt),我从源代码编译。为了更新SciPy和NumPy,我使用了http://www.lfd.uci.edu/~gohlke/pythonlibs/的预编译安装程序,但它有时会破坏兼容性。我喜欢拥有一个完全配置的Py2exe和Cython,而且它开箱即用。
过了一段时间,我尝试安装了免费版本的Canopy,但它没有Cython和py2exe,也没有我需要的一些特定的高级软件包,所以我从来没有真正使用过它。我的一些同事购买了完整的Canopy许可证,但我们仍然不确定他们将如何更新……
Python Python(x,y):不想为许可证而苦苦挣扎,我在家里安装了(x,y)。我现在注意到的唯一缺点是标准安装需要你选择你想要的包。这既是一个优点,也是一个缺点,因为我不能确定我的客户端在安装时是否会有与我完全相同的配置。(可以在Python(x,y)中安装installed工具套件。)在使用Python(x,y)一段时间后,我才注意到我安装了32位版本。虽然在他们的网站上还不清楚,但似乎到2015年7月为止他们还没有64位版本。我将卸载它并获得一个64位的发行版。
Anaconda :当我第一次写这篇文章时,Anaconda似乎还没有足够的包。几年后,它看起来好多了,我要试一试!
手册:为了避免与我们的旧版本的版本兼容性问题,我最终使用了手动安装Python,并从上面链接的LFD网站添加了额外的软件包。它工作得很好,但我仍然建议需要高级软件包(如GDAL或PyFITS)的新用户使用Canopy。
摘要:如果你想购买树冠,请获得完整的许可证(学术版或购买版)。否则,使用Python(x,y),结果将是相同的。
Ubuntu上的:不需要发行版。它都是相对较新的(+/- 6个月是可以容忍的)和预编译的。您只需要执行sudo apt-get install python python-scipy,它就在那里!最高级的包也在那里。
发布于 2016-02-18 22:47:57
其他答案很好地涵盖了这一点,所以我只想评论一下还没有人提到的一个特定方面。它可能是相当小众的,但对于Linux系统下的一些人来说,它可能会建立或破坏Anaconda或Canopy:
Anaconda Python构建使用的是UCS4 Unicode模式,而Unicode使用的是UCS2。
这实际上意味着,如果你依赖于任何不能自己编译的扩展(例如预编译的专有库),如果它们碰巧不是为具有相同模式的Python版本构建的,你迟早会遇到类似于undefined symbol: PyUnicodeUCS4_AsUTF8String的错误。
根据PEP 0513的说法,UCS4目前似乎更受欢迎和推荐。此外,整个UCS兼容性问题似乎只影响2.x和低于3.3的版本。
https://stackoverflow.com/questions/15762943
复制相似问题