2.4 Python 使用
本章节主要介绍在 Bianbu ROS 系统上使用 Python 时的一些核心要点
常用命令汇总
| 作用 | 命令 |
|---|---|
| 安装虚拟环境工具 | sudo apt install python3-venv python3-pip |
| 创建虚拟环境 | python3 -m venv myenv |
| 激活虚拟环境 | source myenv/bin/activate |
| 升级 pip (重要) | pip install --upgrade pip |
| 设置 pypi 源 | pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simplepip config set global.extra-index-url https://git.spacemit.com/api/v4/projects/33/packages/pypi/simple |
| 退出虚拟环境 | deactivate |
系统环境使用Python
当打开终端时,就进入了系统的默认环境,该环境内置了一个 Python 解释器,可以在终端输入 python3 进入解释器

按 ctrl + D 可以退出解释器。
which python3 查看 Python 解释器位置:
bianbu@bianbu:~$ which python3
/usr/bin/python3
系统环境的 Python 包使用 apt 来管理而非 pip ,例如,要安装 Python 的科学计算库 scipy,请运行以下命令:
sudo apt install python3-scipy
要查找使用 apt 发布的 Python 包,请使用 apt search 。在大多数情况下,Python 包使用前缀 python3- :例如,python3-numpy 对应于Python 的 numpy 包。
注意,请不要在系统环境使用 pip 安装包,这是不推荐且不安全的行为。
使用虚拟环境
要使用虚拟环境,请创建一个容器来存储 Python 环境。您可以通过多种方法来完成此操作,具体取决于您想要使用 Python 的方式。这里以 venv 工具为例,首先在系统的 Python 环境安装 venv :
sudo apt install python3-venv python3-pip
运行以下命令创建虚拟环境配置文件夹(其中的 myenv 可以替换成任 何您喜欢的名字):
python3 -m venv myenv
然后,执行虚拟环境配置文件夹中的 bin/activate 脚本,进入虚拟环境:
source myenv/bin/activate
然后您应该会看到类似于以下内容的提示:
(myenv) ➜ ~
myenv 命令提示符前缀表示当前终端会话位于名为 myenv 虚拟环境中。 要检查您是否处于虚拟环境中 ,请使用 pip list 查看已安装软件包的列表:
(myenv) ➜ ~ pip list
Package Version
------- -------
pip 24.0
该列表应该比系统 Python 中安装的包列表短得多。您现在可以使用 pip 安全地安装软件包。在虚拟环境中使用 pip 安装的任何软件包都只会安装到该虚拟环境中。在虚拟环境中, python 或 python3 命令会自动使用虚拟环境下的 Python 软件包,而不是系统环境的 Python包。
为了保证 pip 的正常使用,请更新 pip
pip install --upgrade pip
例如使用 pip 安装 wheel 包:
(myenv) ➜ ~ pip install wheel
Collecting wheel
Downloading wheel-0.44.0-py3-none-any.whl.metadata (2.3 kB)
Downloading wheel-0.44.0-py3-none-any.whl (67 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 67.1/67.1 kB 27.9 kB/s eta 0:00:00
Installing collected packages: wheel
Successfully installed wheel-0.44.0
您可以通过执行 python3,然后 import 安装的模块来验证安装是否成功。
(myenv) ➜ ~ python3
Python 3.12.3 (main, Apr 10 2024, 05:33:47) [GCC 13.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import wheel
您可以使用 sys 模块来验证当前的解释器路径是否符合预期:
>>> import sys
>>> print("
