附录 A 安装Python
Python有多个不同的版本,而在各种操作系统中安装它的方式有很多。如果第1章介绍的方法不管用,或者你要安装非系统自带的Python版本,这个附录可提供帮助。
A.1 在Linux系统中安装Python
几乎所有Linux系统都默认安装了Python,但你可能想使用非默认版本。如果是这样,请首先确定已安装的Python版本。
A.1.1 确定已安装的版本
打开一个终端窗口,并执行如下命令:
- $ python --version
- Python 2.7.6
输出表明默认版本是2.7.6,但系统可能还安装了一个Python 3版本。为核实这一点,请执行如下命令:
- $ python3 --version
- Python 3.5.0
输出表明也安装了Python 3.5.0。安装新版本前,有必要执行上述两个命令。
A.1.2 在Linux系统中安装Python 3
如果你的系统没有安装Python 3,或者你想安装较新的Python 3版本,只需执行几个命令即可。我们使用一个名为deadsnakes
的包,它让安装多个Python版本变得很容易:
- $ sudo add-apt-repository ppa:fkrull/deadsnakes
- $ sudo apt-get update
- $ sudo apt-get install python3.5
这些命令在你的系统中安装Python 3.5。下面的命令启动一个运行Python 3.5的终端会话:
- $ python3.5
- >>>
配置文本编辑器使其使用Python 3以及从终端运行程序时,也需要用到这个命令。
A.2 在OS X系统中安装Python
大多数OS X系统都安装了Python,但你可能想使用非默认版本。如果是这样,请首先确定已安装了哪个版本的Python。
A.2.1 确定已安装的版本
打开一个终端窗口,并执行如下命令:
- $ python --version
- Python 2.7.6
你还应尝试执行命令python3 --version
。执行这个命令时,可能会出现错误消息,但若要确定安装了哪些Python版本,有必要执行这个命令。
A.2.2 使用Homebrew来安装Python 3
如果你的系统只安装了Python 2,或者已安装的Python 3版本较旧,可使用一个名为Homebrew的包来安装最新的Python 3版本。
1. 安装Homebrew
Homebrew依赖于Apple包Xcode,因此请打开一个终端窗口并执行如下命令:
- $ xcode-select --install
在不断出现的确认对话框中都单击OK按钮(根据网络连接的速度,这可能会花一些时间)。接下来安装Homebrew:
- $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
这个命令可在Homebrew网站(http://brew.sh/)的首页找到。在curl -fsSL
和URL之间,务必包含一个空格。
注意 这个命令中的
-e
让Ruby(Homebrew就是使用这种编程语言编写的)执行下载的代码。除非来源是你信任的,否则不要运行这样的命令。
为确认正确地安装了Homebrew,请执行如下命令:
- $ brew doctor
- Your system is ready to brew.
上述输出表明你可以使用Homebrew来安装Python包了。
2. 安装Python 3
为安装最新的Python 3版本,请执行如下命令:
- $ brew install python3
下面来检查使用这个命令安装的是哪个版本:
- $ python3 --version
- Python 3.5.0
- $
现在,你可以使用命令python3
来启动Python 3终端会话了,还可使用命令python3
来配置文本编辑器,使其使用Python 3而不是Python 2来运行Python程序。
A.3 在Windows系统中安装Python
Windows系统默认未安装Python,但有必要检查系统是否安装了它。为此,按住Shift键并右击桌面,再选择“在此处打开命令窗口”来打开一个终端窗口。你也可以在开始菜单中执行命令command
。在打开的终端窗口中,执行如下命令:
- > python --version
- Python 3.5.0
如果你看到了类似于上面的输出,说明已安装了Python,但你可能想安装更新的版本。如果看到一条错误消息,就说明你需要下载并安装Python。
A.3.1 在Windows系统中安装Python 3
访问http://python.org/downloads/,并单击你要安装的Python版本。下载安装程序,并在运行它时选择复选框Add Python to PATH。这让你不用手工修改系统的环境变量,在执行命令python
时也无需指定其完整路径。安装Python后,打开一个新的终端窗口,并在其中执行命令python --version
。如果没有报错,就说明Python安装好了。
A.3.2 查找Python解释器
如果不能执行简单命令python
,你就需要告诉Windows去哪里查找Python解释器。要确定Python解释器的位置,请打开C盘,并在其中查找名称以Python打头的文件夹(要找到这样的文件夹,你可能需要在Windows资源管理器中的搜索栏中输入单词python)。打开这个文件夹,并查找名称为python(全部小写)的文件。右击这个文件并选择“属性”,你将在“位置:”右边看到它的路径。
在终端窗口中,使用该路径来确定刚安装的Python版本:
- $ C:\\Python35\python --version
- Python 3.5.0
A.3.3 将Python添加到环境变量Path中
如果每次启动Python终端时都需要输入完整的路径,那就太讨厌了;有鉴于此,我们将在系统中添加这个路径,让你只需使用命令python
即可。如果你在安装Python时选择了复选框Add Python to PATH,可跳过这一步。打开控制面板并单击“系统和安全”,再单击“系统”。单击“高级系统设置”,在打开的窗口中单击按钮“环境变量”。
在“系统变量”部分,找到并单击变量Path
,再单击按钮“编辑”。在出现的对话框中,单击“变量值”,并使用右箭头键滚到最右边。千万不要覆盖变量原来的值,如果你不小心这样做了,单击“取消”按钮,再重复前面的步骤。在变量值的末尾添加一个分号,再添加文件python.exe的路径:
%SystemRoot%\system32\...\System32\WindowsPowerShell\v1.0\;C:\Python34
关闭终端窗口,再打开一个新的终端窗口。这将在终端会话中加载变量Path
的新值。现在当你执行命令python --version
时,将看到刚才在变量Path
中设置的Python版本。现在,你只需在命令提示符下输入python
并按回车,就可启动Python终端会话了。
A.4 Python关键字和内置函数
Python包含一系列关键字和内置函数,给变量命名时,知道这些关键字和内置函数很重要。编程中面临的一个挑战是给变量指定合适的名称,变量名可以是任何东西,只要它长短合适并描述了变量的作用。同时,不能将Python关键字用作变量名;也不应将Python内置函数的名称用作变量名,否则将覆盖相应的内置函数。
本节将列出Python关键字和内置函数的名称,让你知道应避免使用哪些变量名。
A.4.1 Python关键字
下面的关键字都有特殊含义,如果你将它们用作变量名,将引发错误:
False | class | finally | is | return |
None | continue | for | lambda | try |
True | def | from | nonlocal | while |
and | del | global | not | with |
as | elif | if | or | yield |
assert | else | import | pass | |
break | except | in | raise |
A.4.2 Python内置函数
将内置函数名用作变量名时,不会导致错误,但将覆盖这些函数的行为:
abs() | divmod() | input() | open() | staticmethod() |
all() | enumerate() | int() | ord() | str() |
any() | eval() | isinstance() | pow() | sum() |
basestring() | execfile() | issubclass() | print() | super() |
bin() | file() | iter() | property() | tuple() |
bool() | filter() | len() | range() | type() |
bytearray() | float() | list() | raw_input() | unichr() |
callable() | format() | locals() | reduce() | unicode() |
chr() | frozenset() | long() | reload() | vars() |
classmethod() | getattr() | map() | repr() | xrange() |
cmp() | globals() | max() | reversed()zip() | Zip() |
compile() | hasattr() | memoryview() | round() | __import__() |
complex() | hash() | min() | set() | apply() |
delattr() | help() | next() | setattr() | buffer() |
dict() | hex() | object() | slice() | coerce() |
dir() | id() | oct() | sorted() | intern() |
注意 在Python 2.7中,
unicode()
。这两个单词都不应用作变量名。