附录 A:安装和故障排除
Python 有许多版本,在每个操作系统上的设置方法也不尽相同。如果第 1 章中的方法不起作用,或者您想安装与当前安装的不同版本的 Python,本附录中的说明可以提供帮助。
Windows 上的 Python
第 1 章中的说明介绍了如何使用 https://python.org 上的官方安装程序安装 Python。如果您在使用安装程序后无法运行 Python,本节中的故障排除说明应能帮助您启动并运行 Python。
使用 py 代替 python
如果运行最近的 Python 安装程序,然后在终端中发出 python 命令,就会出现 Python 终端会话提示 (>>>)。当 Windows 无法识别 python 命令时,它要么会打开 Microsoft 应用商店,因为它认为 Python 没有安装,要么就会显示诸如 "未找到 Python "之类的信息。如果打开了 Microsoft Store,请关闭它;最好使用 https://python.org 上的官方 Python 安装程序,而不是微软维护的那个。
最简单的解决方案是尝试使用 py 命令,而无需对系统进行任何更改。这是一个 Windows 实用程序,可以查找系统中安装的最新 Python 版本,并运行该解释器。如果该命令可以运行,并且您想使用它,只需在本书中看到 python 或 python3 命令的任何地方使用 py 即可。
重新运行安装程序
Python 无法运行的最常见原因是,人们在运行安装程序时忘记选择将 Python 添加到 PATH 选项;这是一个很容易犯的错误。PATH 变量是一个系统设置,它告诉 Python 在哪里查找常用程序。在这种情况下,Windows 不知道如何找到 Python 解释器。
在这种情况下,最简单的解决方法就是重新运行安装程序。如果 https://python.org 上有更新的安装程序,下载并运行新的安装程序,确保选中 Add Python to PATH 复选框。
如果您已经有了最新的安装程序,请再次运行并选择 "修改" 选项。您将看到一个可选功能列表;在此页面上保留默认选项。然后单击 "下一步",勾选 "将 Python 添加到环境变量" 框。最后,单击安装。安装程序会识别出已经安装了 Python,并将 Python 解释器的位置添加到 PATH 变量中。确保关闭所有打开的终端,因为它们仍在使用旧的 PATH 变量。打开一个新的终端窗口,再次发出 python 命令;您应该会看到 Python 提示 (>>>)。
macOS 上的 Python
第 1 章中的安装说明使用的是 https://python.org 上的 Python 官方安装程序。官方安装程序多年来一直运行良好,但也有一些问题会让您偏离正轨。本节将帮助您解决安装过程中出现的问题。
不小心安装了Apple版本的Python
如果运行 python3 命令,而系统中尚未安装 Python,那么很可能会出现需要安装命令行开发工具的提示。此时最好的办法是关闭显示此消息的弹出窗口,从 h ttps://python.org 下载 Python 安装程序,然后运行安装程序。
如果此时选择安装命令行开发工具,macOS 将在安装开发工具的同时安装 Apple 版本的 Python。这样做的唯一问题是,Apple 的 Python 版本通常比最新的官方 Python 版本落后一些。不过,你仍然可以从 https://python.org 下载并运行官方安装程序,然后 python3 就会指向更新的版本。不用担心是否安装了开发者工具;其中有一些有用的工具,包括附录 D 中讨论的 Git 版本控制系统。
Linux 上的 Python
几乎每个 Linux 系统都默认包含 Python。但是,如果您系统中的默认版本早于 Python 3.9,则应安装最新版本。如果您想要最新的功能,如 Python 改进的错误信息,也可以安装最新版本。以下说明适用于大多数基于 apt 的系统。
使用默认的 Python 安装
如果要使用 python3 指向的 Python 版本,请确保安装了这三个附加软件包:
$ sudo apt install python3-dev python3-pip python3-venv
这些软件包包括对开发人员有用的工具,以及让你安装第三方软件包的工具,比如本书项目部分使用的工具。
安装最新版本的 Python
我们将使用一个名为 deadsnakes 的包,它可以轻松安装多个版本的 Python。输入以下命令:
$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt update
$ sudo apt install python3.11
这些命令将在系统中安装 Python 3.11。
输入以下命令启动运行 Python 3.11 的终端会话:
$ python3.11
>>>
如果你在本书中看到 python 命令,请使用 python3.11 代替。从终端运行程序时,也要使用该命令。
要充分利用 Python 安装,您还需要安装两个软件包:
$ sudo apt install python3.11-dev python3.11-venv
这些软件包包括安装和运行第三方软件包(如本书后半部分项目中使用的软件包)时所需的模块。
|
检查您正在使用哪个版本的 Python
如果您在运行 Python 或安装其他软件包时遇到任何问题,了解您正在使用的 Python 的确切版本会很有帮助。您可能安装了多个 Python 版本,但不清楚当前使用的是哪个版本。
在终端中发出以下命令
$ python --version
Python 3.11.0
这将准确地告诉你 python 命令当前指向的版本。更短的命令 python -V 也会给出相同的输出结果。
Python 关键字和内置函数
Python 自带一系列关键字和内置函数。当您在 Python 中命名事物时,注意这些是很重要的:您的名称不能与这些关键字相同,也不应该与函数名相同,否则您就会覆盖函数。
在本节中,我们将列出 Python 的关键字和内置函数名,这样您就会知道哪些名称需要避免。
Python 关键字
以下每个关键字都有特定含义,如果尝试使用其中任何一个关键字作为变量名,都会出现错误。
False |
await |
else |
import |
pass |
None |
break |
except |
in |
raise |
True |
class |
finally |
is |
return |
and |
continue |
for |
lambda |
try |
as |
def |
from |
nonlocal |
while |
assert |
del |
global |
not |
with |
async |
elif |
if |
or |
yield |
Python 内置函数
如果使用以下随时可用的内置函数作为变量名,就不会出错,但会覆盖该函数的行为:
abs() |
hash() |
slice() |
aiter() |
help() |
sorted() |
all() |
hex() |
staticmethod() |
any() |
id() |
str() |
anext() |
input() |
sum() |
ascii() |
int() |
super() |
bin() |
isinstance() |
tuple() |
bool() |
issubclass() |
type() |
breakpoint() |
iter() |
vars() |
bytearray() |
len() |
zip() |
bytes() |
list() |
|
callable() |
locals() |
|
chr() |
map() |
|
classmethod() |
max() |
|
compile() |
memoryview() |
|
complex() |
min() |
|
delattr() |
next() |
|
dict() |
object() |
|
dir() |
oct() |
|
divmod() |
open() |
|
enumerate() |
ord() |
|
eval() |
pow() |
|
exec() |
print() |
|
filter() |
property() |
|
float() |
range() |
|
format() |
repr() |
|
frozenset() |
reversed() |
|
getattr() |
round() |
|
globals() |
set() |
|
hasattr() |
setattr() |