1.4 安装和设置
由于人们用Python所做的事情不同,所以没有一个普适的Python及其插件包的安装方案。由于许多读者的Python科学计算环境都不能完全满足本书的需要,所以接下来我将详细介绍各个操作系统上的安装方法。我推荐免费的Anaconda安装包。写作本书时,Anaconda提供Python 2.7和3.6两个版本,以后可能发生变化。本书使用的是Python 3.6,因此推荐选择Python 3.6或更高版本。
Windows
要在Windows上运行,先下载Anaconda安装包。推荐跟随Anaconda下载页面的Windows安装指导,安装指导在写作本书和读者看到此文的的这段时间内可能发生变化。
现在,来确认设置是否正确。打开命令行窗口(cmd.exe
),输入python
以打开Python解释器。可以看到类似下面的Anaconda版本的输出:
C:\Users\wesm>python
Python 3.5.2 |Anaconda 4.1.1 (64-bit)| (default, Jul 5 2016, 11:41:13)
[MSC v.1900 64 bit (AMD64)] on win32
>>>
要退出shell,按Ctrl-D(Linux或macOS上),Ctrl-Z(Windows上),或输入命令exit()
,再按Enter。
Apple (OS X, macOS)
下载OS X Anaconda安装包,它的名字类似Anaconda3-4.1.0-MacOSX-x86_64.pkg。双击.pkg文件,运行安装包。安装包运行时,会自动将Anaconda执行路径添加到.bash_profile
文件,它位于/Users/$USER/.bash_profile
。
为了确认成功,在系统shell打开IPython:
$ ipython
要退出shell,按Ctrl-D,或输入命令exit()
,再按Enter。
GNU/Linux
Linux版本很多,这里给出Debian、Ubantu、CentOS和Fedora的安装方法。安装包是一个脚本文件,必须在shell中运行。取决于系统是32位还是64位,要么选择x86 (32位)或x86_64 (64位)安装包。随后你会得到一个文件,名字类似于Anaconda3-4.1.0-Linux-x86_64.sh
。用bash进行安装:
$ bash Anaconda3-4.1.0-Linux-x86_64.sh
笔记:某些Linux版本在包管理器中有满足需求的Python包,只需用类似apt的工具安装就行。这里讲的用Anaconda安装,适用于不同的Linux安装包,也很容易将包升级到最新版本。
接受许可之后,会向你询问在哪里放置Anaconda的文件。我推荐将文件安装到默认的home目录,例如/home/$USER/anaconda
。
Anaconda安装包可能会询问你是否将bin/
目录添加到$PATH
变量。如果在安装之后有任何问题,你可以修改文件.bashrc
(或.zshrc
,如果使用的是zsh shell)为类似以下的内容:
export PATH=/home/$USER/anaconda/bin:$PATH
做完之后,你可以开启一个新窗口,或再次用~/.bashrc
执行.bashrc
。
安装或升级Python包
在你阅读本书的时候,你可能想安装另外的不在Anaconda中的Python包。通常,可以用以下命令安装:
conda install package_name
如果这个命令不行,也可以用pip包管理工具:
pip install package_name
你可以用conda update
命令升级包:
conda update package_name
pip可以用--upgrade
升级:
pip install --upgrade package_name
本书中,你有许多机会尝试这些命令。
注意:当你使用conda和pip二者安装包时,千万不要用pip升级conda的包,这样会导致环境发生问题。当使用Anaconda或Miniconda时,最好首先使用conda进行升级。
Python 2 和 Python 3
第一版的Python 3.x出现于2008年。它有一系列的变化,与之前的Python 2.x代码有不兼容的地方。因为从1991年Python出现算起,已经过了17年,Python 3 的出现被视为吸取一些列教训的更优结果。
2012年,因为许多包还没有完全支持Python 3,许多科学和数据分析社区还是在使用Python 2.x。因此,本书第一版使用的是Python 2.7。现在,用户可以在Python 2.x和Python 3.x间自由选择,二者都有良好的支持。
但是,Python 2.x在2020年就会到期(包括重要的安全补丁),因此再用Python 2.7就不是好的选择了。因此,本书使用了Python 3.6,这一广泛使用、支持良好的稳定版本。我们已经称Python 2.x为“遗留版本”,简称Python 3.x为“Python”。我建议你也是如此。
本书基于Python 3.6。你的Python版本也许高于3.6,但是示例代码应该是向前兼容的。一些示例代码可能在Python 2.7上有所不同,或完全不兼容。
集成开发环境(IDEs)和文本编辑器
当被问到我的标准开发环境,我几乎总是回答“IPython加文本编辑器”。我通常在编程时,反复在IPython或Jupyter notebooks中测试和调试每条代码。也可以交互式操作数据,和可视化验证数据操作中某一特殊集合。在shell中使用pandas和NumPy也很容易。
但是,当创建软件时,一些用户可能更想使用特点更为丰富的IDE,而不仅仅是原始的Emacs或Vim的文本编辑器。以下是一些IDE:
- PyDev(免费),基于Eclipse平台的IDE;
- JetBrains的PyCharm(商业用户需要订阅,开源开发者免费);
- Visual Studio(Windows用户)的Python Tools;
- Spyder(免费),Anaconda附带的IDE;
- Komodo IDE(商业)。
因为Python的流行,大多数文本编辑器,比如Atom和Sublime Text 3,对Python的支持也非常好。