说得好!这是一个在树莓派新手中非常常见且重要的问题,我来为你详细解释一下。

树莓派上同时有 python 和 python3 两个命令,是为了兼容旧代码和方便新项目,它们指向的是不同版本的 Python 解释器。
下面我们来分解一下:
两个命令分别指向什么?
-
python3- 指向什么:这是现代的、默认的、官方推荐的 Python 版本,在最新的树莓派 OS (如 Raspberry Pi OS with desktop) 中,它通常指向 Python 3.x 版本(Python 3.9, 3.11 等)。
- 为什么存在:Python 3 是目前的主流版本,修复了 Python 2 的一些设计缺陷,并且拥有更现代的语法和强大的库生态系统。所有新项目都应该使用
python3。
-
python
(图片来源网络,侵删)- 指向什么:这个命令是一个“兼容性符号”或“软链接”,它的作用是为了兼容那些为旧版 Python 2 编写的脚本,在大多数现代树莓派系统中,
python命令通常会指向python3。 - 为什么存在:在 Python 2 到 Python 3 的过渡时期,大量的脚本和教程都是基于 Python 2 的,为了确保这些旧代码(
python my_old_script.py)仍然可以运行,系统保留了python这个命令,并让它指向当前默认的 Python 3 解释器,这是一种向后兼容的策略。
- 指向什么:这个命令是一个“兼容性符号”或“软链接”,它的作用是为了兼容那些为旧版 Python 2 编写的脚本,在大多数现代树莓派系统中,
如何验证它们指向的版本?
你可以在终端里输入以下命令来查看:
# 查看 python3 的版本 $ python3 --version Python 3.9.2 # 查看 python 的版本(它通常会显示和 python3 一样的版本) $ python --version Python 3.9.2
你还可以用 ls -al 命令来查看 /usr/bin/ 目录下的链接关系,这会让你看得更清楚:
$ ls -al /usr/bin/python* lrwxrwxrwx 1 root root 9 Nov 12 10:30 /usr/bin/python -> python3 lrwxrwxrwx 1 root root 9 Nov 12 10:30 /usr/bin/python3 -> python3.9
从上面的输出可以看到:
python是一个链接,它指向python3。python3也是一个链接,它最终指向了具体的解释器文件python3.9。
这对我有什么影响?我该用哪个?
这是一个关键问题,直接影响你如何运行代码。

你运行一个现有的脚本
假设你有一个脚本文件 my_script.py。
-
如果你直接运行
python my_script.py:- 在现代树莓派上,这和
python3 my_script.py效果完全一样,因为python指向了python3。 - 如果你的系统非常老旧(比如早期基于 Debian Wheezy 的系统),
python可能会指向 Python 2,这时就会用 Python 2 来运行。
- 在现代树莓派上,这和
-
最佳实践:为了确保脚本在任何环境下都能用正确版本运行,请始终在脚本的第一行(Shebang 行)指定解释器。
#!/usr/bin/env python3 print("Hello, Raspberry Pi!")这样,无论用户是输入
python my_script.py还是./my_script.py(只要文件有执行权限),系统都会明确地使用python3来执行。
你安装新的 Python 包(库)
这是最需要注意的地方!如果你用错了命令,会导致包安装位置混乱,引发各种奇怪的错误。
-
要为 Python 3 安装包,必须使用
pip3:# 正确! pip3 install numpy pip3 install requests
-
不要使用
pip:# 错误或容易混淆! pip install numpy
在很多系统中,
pip本身也可能是一个指向pip3的链接,但这并不总是 guaranteed,为了清晰和避免问题,养成始终使用pip3的习惯。
总结与最佳实践
| 命令 | 作用 | 推荐用法 |
|---|---|---|
python3 |
运行现代 Python (3.x) 代码 | 所有新项目的首选。 |
python |
兼容旧脚本,通常也指向 python3 |
仅在运行没有 Shebang 行的旧脚本时可能用到。不推荐主动使用。 |
pip3 |
为 Python 3 安装第三方库 | 安装所有 Python 包的标准做法。 |
pip |
可能指向 pip3,也可能指向旧的 pip (for Python 2) |
避免使用,以防万一。 |
给你的最终建议:
- 写代码:始终用
python3 your_script.py来运行你的脚本。 - 装库:始终用
pip3 install <library_name>来安装库。 - 写脚本:在你的 Python 脚件第一行加上
#!/usr/bin/env python3,这是最专业、最可靠的做法。
遵循这个简单的规则,你就可以在树莓派上轻松管理你的 Python 环境,避免绝大多数与版本相关的麻烦。
