1.4 安装与设置
由于每个人使用Python的应用场景不一样,设置Python、安装附加包并没有一个统一的解决方案。很多读者并没有一个适合本书后续内容的Python开发环境,因此我将给出一份各操作系统上的详细Python安装说明。我推荐使用免费的Anaconda发布版。在本书写作的时候,Anaconda提供Python 2.7和Python 3.6两个版本,当然未来某个时间版本会变更。本书使用Python 3.6版本,我推荐使用Python 3.6或更高版本。
1.4.1 Windows
在Windows上起步,需要先下载Anaconda安装器(http://anaconda.com/downloads)。我推荐读者按照Anaconda官网下载页上的安装说明进行安装,当读者读至此时安装说明可能会和本书出版时的说明不太一样。
现在,让我们来确定所有设置是否都正确。鼠标右击开始菜单,选择命令行,打开命令行应用(也就是cmd.exe)。通过输入python来启动Python解释器。你应该可以看到符合你下载的Anaconda版本的信息:
C:\Users\wesm>python Python 3.5.2 |Anaconda 4.1.1 (64-bit)| (default, Jul 52016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32 >>>
要退出命令行,按下Ctrl-D(Linux或macOS),按下Ctrl-Z(Windows),或者输入命令exit()后按下回车键。
1.4.2 Apple(OS X和macOS)
下载OS X版的Anaconda安装器,命名如Anaconda3-4.1.0-MacOSX-x86_64.pkg。双击.pkg文件运行安装器。安装器运行时,会自动将Anaconda执行路径添加到你的.bash_profile文件中,该文件位于/Users/$USER/.bash_profle。
确认安装正常,可以尝试在系统命令行(打开终端应用得到命令提示符)中运行IPython:
$ ipython
要退出命令行,按下Ctrl-D,或者输入命令exit()后按下回车键。
1.4.3 GNU/Linux
Linux下的安装细节取决于你所用的Linux版本,但是我会给出部分Linux系统的Python安装细节,例如Debian、Ubuntu、CentOS和Fedora。设置方法与OS X大致相同,Anaconda的安装方法除外。安装器是一段shell脚本,必须通过终端执行。选择x86(32位)还是x86_64(64位)安装器取决于你的操作系统是32位还是64位。安装时,你需要使用一个文件名类似于Anaconda3-4.1.0-Linux-x86_64.sh的文件,并在bash命令行输入:
$ bash Anaconda3-4.1.0-Linux-x86_64.sh
部分Linux发行版包含所有所需的Python包,可以通过像apt这样的工具进行安装。本书的安装是针对Anaconda的。这两种方式下都很容易进行跨版本重现和包版本更新。
在接受许可后,需要选择Anaconda的安装路径。推荐在主目录下的默认位置进行安装——例如/home/$USER/anaconda($USER一般就是你的用户名)。
Anaconda可能会问你是否需要将它的bin/目录添加到$PATH变量中去。如果在安装后出现了问题,你可以自行修改.bashrc(或者.zshrc,如果你使用的是zsh命令行):
export PATH=/home/$USER/anaconda/bin:$PATH
完成修改后,你可以新开一个终端进程或通过source~/.bashrc再次执行你的.bashrc。
1.4.4 安装及更新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进行更新。
1.4.5 Python 2和Python 3
Python 3.x的第一个版本发布于2008年年底。它包含了大量与Python 2.x代码不兼容的变更。因为距离Python在1991年第一次发布已经过去了17年,鉴于长期以来的经验教训,创造一个“震撼”的Python 3版本是极好的。
2012年,大部分科学数据分析社区仍然在使用Python 2.x,因为当时很多包并没有完全兼容Python 3。因此,本书的第1版使用了Python 2.7。现如今,用户可以根据喜好在Python 2.x和Python 3.x进行选择,因为基本上两个版本都有全量的库支持。
然而,Python 2.x将在2020年结束开发周期(包括重要安全补丁),所以在Python 2.7下创建新项目并不是个好主意。因此,本书将使用Python 3.6,该稳定版部署更为广泛、支持更为友好。我们将Python 2.7称为“传统Python”,将Python 3.x简称为“Python”。我推荐你也这么做。
本书使用Python 3.6作为基础,你的Python版本可能比3.6更新,但本书的代码示例应该是向前兼容的。部分代码示例可能会有不同的运行结果,或者无法在Python 2.7中运行。
1.4.6 集成开发环境和文本编辑器
当被问及我的标准开发环境时,我会回答说“IPython加文本编辑器”。通常,我会在IPython或Jupyter notebook中写一段代码,然后迭代测试、调试。这种方式有助于在交互情况下操作数据,并可以通过肉眼确认特定数据集是否做了正确的事。像pandas和NumPy库都被设计为适合在命令行下使用。
然而,当开发软件时,一些用户可能倾向于使用功能更为丰富的集成开发环境(IDE),而不是功能相对简单的文本编辑器比如Emacs或Vim。下面介绍一些IDE:
· PyDev(免费),基于Eclipse平台的IDE
· PyCharm, Jetbrains公司开发(对商业用户收费,对开源用户免费)
· Python Tools for Visual Studio(适合Windows用户)
· Spyder(免费), Anaconda集成的IDE
· Komodo IDE(收费)
由于Python十分流行,大多数文本编辑器,比如Atom和Sublime Text 2都对Python有较好的支持。