在Windows上使用哪个Python适合Numpy及其相关库?
为了进行与研究相关的Python程序,我需要Python 2.6(或2.7)、numpy、scipy和matplotlib。有时候,我还会用到其他一些模块,比如mayavi2或numexpr。
这些程序会在(Ubuntu)Linux和Windows之间交换使用,并且可以修改以便在不同的平台上运行。Windows上的设置应该尽量和Linux的一样。与COM、.NET或Windows操作系统的集成不是必须的。
我知道以下几种选择:
- 来自python.org的Windows版Python
- ActivePython
- Python(x,y),这是一个包含Python及其模块和图形界面的软件包
- Enthought Python发行版,这是一个包含Python及其模块的软件包
这些选项中,哪一个能让我最有效地获得一个能正常工作的环境?它们之间有什么不同?
3 个回答
我使用了官方SciPy发布的win32-superpack。这个包里面包含了Python、NumPy、SciPy、matplotlib等,安装后直接就能用。
也许我应该对你列表上的那些包做点评论:
- 根据我所知,Python.org提供的标准Python版本里不包含SciPy。
- Enthought版本在我使用的一些计算机集群上已经安装。它是和Intel的MKL库链接的,可能在处理线性代数方面比SciPy的版本更快。不过,这个是商业软件。用SciPy版本开发的Python程序在Enthought上也应该能正常运行。
- 我对另外两个版本的情况不太了解。
编辑于2017-11-4: 目前来看,Anaconda 似乎是最好的选择。它可以在多个平台上使用,不需要管理员权限,并且可以同时安装多个版本的Python。
原帖
安装科学计算所需的所有Python库最简单的方法是安装Python(x,y)或Enthought Python Distribution(EPD)。这两个选项提供的包差不多(包括numexpr和mayavi2),所以主要看个人喜好。我更喜欢Python(x,y),因为它是完全开源的,而EPD是一个商业产品,有免费版。你可以比较一下EPD和Python(x,y)中包含的包。
这两个选项都比使用标准的Python(或ActiveState)然后手动安装所有科学包要好得多。它们都能很好地处理从Linux转移过来的代码。值得一提的是,EPD也有Linux版本,所以如果你需要在Windows和Linux之间的所有包和版本完全一致,这可能是个不错的选择。
编辑:如果你只想要一些基本的科学包,win32-superpack是个不错的选择,但如果你想要更复杂的东西,比如mayavi,你就需要自己安装了。
编辑于2013-05-03:
这个问题虽然老了,但现在的答案总是推荐使用Anaconda,所以我想给你提供一个链接。
Anaconda不仅适合科学研究,它里面安装了所有相关的库和工具,而且它也是最好的Python发行版之一:https://www.anaconda.com/download/