Scipy安装指南
本篇文章将介绍怎样安装Scipy,如果你需要看Scipy安装英文版请点击这里。
安装方法包括:
这些方法在易用性、覆盖范围、旧版本的维护、系统范围与本地环境的使用以及控制方面各不相同。使用pip或anaconda的conda,你可以控制特定项目的包版本,以防止冲突。Conda还控制非Python包,如MKL或HDF5。系统包管理器,如apt-get
,安装在整个计算机上,通常有较旧的版本,并且没有那么多可用版本。源代码编译要困难得多,但对于调试和开发来说是必要的。如果你不知道你需要或喜欢哪种安装方法,我们推荐Science Python发行版Anaconda 。
Science Python分发版(推荐)
Python发行版提供了语言本身,以及最常用的包和工具。这些可下载的文件几乎不需要配置,几乎可以在所有设置上运行,并且提供了所有常用的科学Python工具。
Anaconda可以在Windows、Mac和Linux上运行,提供了1500多个Python/R包,有超过1500万人在使用。Anaconda最适合初学用户;它提供了一个庞大的库集合。
对于需要定期安装或升级的更高级用户,Miniconda是更合适的安装Conda包管理器的方式。
其他选项包括:
WinPython:另一个免费发行版,包括科学软件包和Spyder IDE;仅限于Windows,但更积极地维护和支持最新的Python3版本。
Pyzo:基于Anaconda和IEP交互式开发环境的免费发行版;支持Linux、Windows和Mac。
通过pip安装
Python附带一个内置的包管理系统pip。pip可以安装、更新或删除任何官方软件包。
你可以通过命令行输入以下命令来安装软件包:
python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose
我们建议使用用户安装,将–user标志发送到pip。pip为本地用户安装软件包,并且不写入系统目录。最好不要使用sudo pip
,因为这种组合可能会导致问题。
pip访问Python Package Index(Python包索引,PyPI
),该索引存储了近20万个项目和所述项目的所有先前版本。因为存储库保留以前的版本,所以你可以固定到某个版本,而不必担心更新会导致冲突。pip还可以在本地Virtualenv或虚拟环境中安装软件包。
通过软件包管理器在系统范围内安装
系统包管理器可以安装最常见的Python包。他们为整台计算机安装软件包,通常使用较旧的版本,并且没有那么多可用的版本。
Ubuntu and Debian
使用apt-get
:
sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
Fedora 22 and later
使用dnf
:
sudo dnf install numpy scipy python-matplotlib ipython python-pandas sympy python-nose atlas-devel
Mac
Mac没有预装的包管理器,但是有几个流行的包管理器可以安装。
对于带有Macports的Python 3.5,请在终端中执行以下命令:
sudo port install py35-numpy py35-scipy py35-matplotlib py35-ipython +notebook py35-pandas py35-sympy py35-nose
Homebrew不完整地覆盖了SciPy生态系统,但安装了以下软件包:
brew install numpy scipy ipython jupyter
源代码
你可以从源代码构建任何包。那些参与开发的人可能会采取这种方式来获得开发版本或更改源代码。有关更多详细信息,请参阅单个项目。
二进制
二进制文件可以直接安装软件包。这些资源可以来自直接来源,如GitHub或PyPI,也可以来自第三方存储库。Linux操作系统,如Ubuntu,有软件包存储库,你可以在其中搜索和下载单独的二进制文件。对于Windows,Christoph Gohlke为许多软件包提供了预构建的Windows安装程序。
开始
安装了SciPy包了吗?想知道下一步要做什么吗?
没有“Python”,就没有“Scientific Python”。SciPy技能需要建立在标准编程技能的基础上。虽然Python本身有一个官方教程,但是网上有无数的资源,可以是硬拷贝的,也可以是面对面的,或者你喜欢的任何格式。
只要记住玩得开心,犯错误,坚持不懈就行了。
写在哪里?
Jupyter笔记本在交互式设置中结合了代码、Markdown等功能。它们是学习、协作、实验或记录的优秀工具。笔记本可以在你的本地计算机上运行,MyBinder还向浏览器提供Jupyter笔记本,而不需要本地计算机上的任何东西。例如,MyBinder优雅的Scipy提供了一个交互式教程。
Jupyter通过在幕后调用IPython来运行,但是IPython本身也充当一个独立的工具。IPython是单个语句和返回值的命令行,对于调试和实验非常有用。
代码编辑器和IDE(集成开发环境)简化了脚本、包和库的编写。这些工具可以处理一些项目,比如本网站本身,这些项目开始变得更大、更复杂。单独的文件可以保存常用的函数、类型、变量和分析脚本,以实现更简单、更易维护和更可重用的代码。
代码编辑器可以从最小的(如Windows的记事本)运行到功能齐全且可定制的编辑器(如Atom、Visual Studio Code或PyCharm)。功能包括语法突出显示、执行代码的能力、调试工具、自动完成和项目管理。
Hello SciPy
是否需要测试软件包是否已安装?在IPython提示符下键入以下行,或保存在*.py文件中以执行:
import numpy as np print("I like ", np.pi)
为了测试SciPy库和Matplotlib,这里有一个有趣的复活节彩蛋:
from scipy import misc import matplotlib.pyplot as plt face = misc.face() plt.imshow(face) plt.show()
开始学习
每个软件包都有官方教程:
还有额外的课外教程,如 Scipy Lecture Notes 或Elegant SciPy。
但是最好的学习方法是开始编码。
卡住了?需要帮助吗?
得到了你找不到的错误吗?
从查看错误消息开始。是的,错误消息通常令人望而生畏,并且充满了技术细节。但是,它们通常可以帮助确定代码中出错的确切位置。这通常是战斗的主要内容。
不确定如何使用特定功能?在Jupyter和IPython shell中,使用以下命令调用文档:
import numpy as np np.linspace?
或用于查看源代码:
import numpy as np np.linspace??
?适用于函数和变量:
a = "SciPy is awesome ;)" a?
尝试在Internet和StackOverflow之类的网站上搜索,看看其他人是否也遇到过类似的问题,或者是否可以帮助你解决问题。
如果你认为你确实遇到了SciPy本身的问题,请阅读报告Bugs页面。