附录 A 安装Python

附录 A 安装Python - 图1

Python有多个不同的版本,而在各种操作系统中安装它的方式有很多。如果第1章介绍的方法不管用,或者你要安装非系统自带的Python版本,这个附录可提供帮助。

A.1 在Linux系统中安装Python

几乎所有Linux系统都默认安装了Python,但你可能想使用非默认版本。如果是这样,请首先确定已安装的Python版本。

A.1.1 确定已安装的版本

打开一个终端窗口,并执行如下命令:

  1. $ python --version
  2. Python 2.7.6

输出表明默认版本是2.7.6,但系统可能还安装了一个Python 3版本。为核实这一点,请执行如下命令:

  1. $ python3 --version
  2. Python 3.5.0

输出表明也安装了Python 3.5.0。安装新版本前,有必要执行上述两个命令。

A.1.2 在Linux系统中安装Python 3

如果你的系统没有安装Python 3,或者你想安装较新的Python 3版本,只需执行几个命令即可。我们使用一个名为deadsnakes的包,它让安装多个Python版本变得很容易:

  1. $ sudo add-apt-repository ppa:fkrull/deadsnakes
  2. $ sudo apt-get update
  3. $ sudo apt-get install python3.5

这些命令在你的系统中安装Python 3.5。下面的命令启动一个运行Python 3.5的终端会话:

  1. $ python3.5
  2. >>>

配置文本编辑器使其使用Python 3以及从终端运行程序时,也需要用到这个命令。

A.2 在OS X系统中安装Python

大多数OS X系统都安装了Python,但你可能想使用非默认版本。如果是这样,请首先确定已安装了哪个版本的Python。

A.2.1 确定已安装的版本

打开一个终端窗口,并执行如下命令:

  1. $ python --version
  2. 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,因此请打开一个终端窗口并执行如下命令:

  1. $ xcode-select --install

在不断出现的确认对话框中都单击OK按钮(根据网络连接的速度,这可能会花一些时间)。接下来安装Homebrew:

  1. $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

这个命令可在Homebrew网站(http://brew.sh/)的首页找到。在curl -fsSL和URL之间,务必包含一个空格。

注意 这个命令中的-e让Ruby(Homebrew就是使用这种编程语言编写的)执行下载的代码。除非来源是你信任的,否则不要运行这样的命令。

为确认正确地安装了Homebrew,请执行如下命令:

  1. $ brew doctor
  2. Your system is ready to brew.

上述输出表明你可以使用Homebrew来安装Python包了。

2. 安装Python 3

为安装最新的Python 3版本,请执行如下命令:

  1. $ brew install python3

下面来检查使用这个命令安装的是哪个版本:

  1. $ python3 --version
  2. Python 3.5.0
  3. $

现在,你可以使用命令python3来启动Python 3终端会话了,还可使用命令python3来配置文本编辑器,使其使用Python 3而不是Python 2来运行Python程序。

A.3 在Windows系统中安装Python

Windows系统默认未安装Python,但有必要检查系统是否安装了它。为此,按住Shift键并右击桌面,再选择“在此处打开命令窗口”来打开一个终端窗口。你也可以在开始菜单中执行命令command。在打开的终端窗口中,执行如下命令:

  1. > python --version
  2. 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版本:

  1. $ C:\\Python35\python --version
  2. Python 3.5.0

A.3.3 将Python添加到环境变量Path中

如果每次启动Python终端时都需要输入完整的路径,那就太讨厌了;有鉴于此,我们将在系统中添加这个路径,让你只需使用命令python即可。如果你在安装Python时选择了复选框Add Python to PATH,可跳过这一步。打开控制面板并单击“系统和安全”,再单击“系统”。单击“高级系统设置”,在打开的窗口中单击按钮“环境变量”。

在“系统变量”部分,找到并单击变量Path,再单击按钮“编辑”。在出现的对话框中,单击“变量值”,并使用右箭头键滚到最右边。千万不要覆盖变量原来的值,如果你不小心这样做了,单击“取消”按钮,再重复前面的步骤。在变量值的末尾添加一个分号,再添加文件python.exe的路径:

  1. %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关键字

下面的关键字都有特殊含义,如果你将它们用作变量名,将引发错误:

Falseclassfinallyisreturn
Nonecontinueforlambdatry
Truedeffromnonlocalwhile
anddelglobalnotwith
aselififoryield
assertelseimportpass
breakexceptinraise

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中,print是关键字而不是函数。另外,Python 3没有内置函数unicode()。这两个单词都不应用作变量名。