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 NotesElegant 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页面。

00

Python

发表评论

电子邮件地址不会被公开。 必填项已用*标注

什么阻碍了你实现迈入机器学习领域的目标?

什么阻碍了你实现迈入机器学习领域的目标?

2020-04-22 机器学习

如果你在为进入机器学习领域而挣扎,感觉到有什么东西阻止了自己的开始,那么你应该看看这篇文章。 在这篇文章中,我们会讨论阻止进入机器学习领域的自我限制的信念,让你明白面临的问题。 几乎总是一种自我限制的信念阻碍了你们的进步。 也许你会在一个或多个这样的信念中看到自己。如果是这样的话, [......]

了解详情

R语言机器学习迷你课程

R语言机器学习迷你课程

2020-08-12 机器学习

在这个迷你课程中,你将发现如何开始,构建精确的模型,并自信地完成在14天内使用R预测建模机器学习项目。 这是一个重要而重要的文章。你可能想把它书签。 了解如何准备数据,拟合机器学习模型,并用我的新书评估他们在r上的预测,包括14步教程、3个项目和完整源代码。 我们开始吧。 [......]

了解详情

关于机器学习的几点思考

关于机器学习的几点思考

2020-04-26 机器学习

机器学习是一个大的、跨学科的研究领域。 你可以通过机器学习获得令人印象深刻的结果,并找到非常具有挑战性的问题的解决方案。但这只是更广泛的机器学习领域的一小部分,通常被称为预测建模或预测分析。 在这篇文章中,你将发现如何改变你对机器学习的思考方式,以便更好地为你提供机器学习实践者的服务。 [......]

了解详情

找到你的机器学习部落

找到你的机器学习部落

2020-04-26 机器学习

机器学习是一个充满算法和数据的迷人而强大的研究领域。 问题是,有这么多不同类型的人对机器学习感兴趣,每个人都有不同的需求。重要的是要了解你想要从机器学习中得到什么,并根据这些需求调整你的自学。 如果你不这样做,你很容易就会陷入困境,迷失方向,失去兴趣,得不到你想要的东西。 找到 [......]

了解详情

应用机器学习过程

应用机器学习过程

2020-04-26 机器学习

随着时间的推移,在处理应用机器学习问题时,你会开发出一种模式或流程,以快速获得良好的正常结果。 一旦开发完成,你就可以在一个又一个项目上反复使用此过程。你的流程越健壮、越发达,你就能越快地获得可靠的结果。 在这篇文章中,我想与你分享我解决机器学习问题的过程框架。 你可以将其用作下一 [......]

了解详情