Skip to content

ROS2的Python开发环境的搭建

在Ubuntu上安装Python3

如果您更改或尝试修改 Ubuntu 默认的 Python 版本,您的系统很可能会完全崩溃。请不要随意修改默认的 Python 安装,因为 Ubuntu 依赖于它来正常工作(或者根本无法工作)。

在 Ubuntu 24.04 上,Python 已经安装!实际上,没有它 Ubuntu 都无法工作。让我们通过运行来检查其版本:

bash
python3 --version

应输出:

bash
Python 3.13.0

如果您的版本中低于 3.10,请修复此问题,因为本教程对您将不起作用。

快速Python检查

让我们快速检查 Python 是否正常工作。在终端中输入以下命令:

bash
python3

这将启动 Python 解释器。终端中应该输出类似如下内容:

bash
Python 3.13.0 (main, Nov 10 2024, 02:38:55) [GCC 13.2.0] on linux
Type "help", "copyr当安装 apt 上不可用的 Python 包时,请使用 pip。ight", "credits" or "license" for more information.
>>>

一些 Python 包必须通过 apt 安装

除了必须从 apt 安装这些软件包外,最好使用 venv 和 pip 仅为您自己的用户安装软件包,而不使用 sudo 。

某些 Python 包需要通过 apt 安装才能与 Ubuntu 默认的 Python 良好工作。如果您偏离此方法,可能会引发难以恢复的问题。

为了本教程的目的,让我们安装 pipvenv:

bash
sudo apt install -y python3-pip python3-venv

当你想要隔离你的环境时,使用 venv

注意:

在撰写本文时,ROS2(更多信息)尚不支持 venv。在解决这个问题之前,我们不会在 ROS2 教程中使用 venv。然而,我们将使用 venv 来保护我们的 ROS2 环境免受这些 Python 前置教程的影响。

创建一个 venv

bash
cd ~
python3 -m venv ros2tutorial_venv

其中唯一的参数, ros2tutorial_venv ,是将在其中创建 venv 的文件夹名称。

激活 venv

每次我们想要使用一个 venv 时,必须显式激活它。

bash
cd ~
source ros2tutorial_venv/bin/activate

终端将更改为具有前缀 (ros2tutorial_venv) 以让我们知道我们正在使用一个 venv ,如下所示:

bash
(ros2tutorial_venv) user@hostname:~$

离开虚拟工作环境:禁用 venv

bash
deactivate

此时终端前缀将恢复为正常状态,证据就是前缀(ros2tutorial_venv)消失了:

bash
user@hostname:~$

安装软件支持库

在这些教程中,我们依赖于 apt 或 pip 来安装软件包。Python 有其他包管理器,以及许多其他安装和管理软件包的方法。通常,它们之间不兼容,所以,就像清洁产品一样,不要混合使用。

作为一个例子,让我们安装有史以来最优秀的机器人建模和控制库,DQ Robotics。

首先,我们激活虚拟环境:

bash
cd ~
source ros2tutorial_venv/bin/activate

然后,我们安装:

bash
pip install dqrobotics

这将导致类似的结果(可能取决于未来的版本):

bash
Collecting dqroboti当安装 apt 上不可用的 Python 包时,请使用 pip。cs
Downloading dqrobotics-23.4.0a15-cp310-cp310-manylinux1_x86_64.whl (551 kB)
     ---------------------------------------- 551.4/551.4 KB 6.3 MB/s eta 0:00:00
Collecting numpy
  Downloading numpy-1.25.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.6 MB)
     ---------------------------------------- 17.6/17.6 MB 7.4 MB/s eta 0:00:00
Installing collected packages: numpy, dqrobotics
Successfully installed dqrobotics-23.4.0a15 numpy-1.25.0

移除库(使用 pip 安装的)

我们可以移除我们刚刚安装的库:

bash
pip uninstall dqrobotics

然后在终端中,根据命令行的提示,输入 Y 以确认卸载。最后终端提示:

bash
Found existing installation: dqrobotics 23.4.0a15
Uninstalling dqrobotics-23.4.0a15:
  Would remove:
    /home/murilo/ros2tutorial_venv/lib/python3.10/site-packages/dqrobotics-23.4.0a15.dist-info/*
    /home/murilo/ros2tutorial_venv/lib/python3.10/site-packages/dqrobotics/*
Proceed (Y/n)?

当使用 pip 时,请勿使用 sudo

使用 sudo 而不知道自己在做什么,是破坏 Ubuntu 安装的最简单方法。即使是看似无害的操作,如使用 sudo 复制文件,也可能对您的 Ubuntu 环境造成不可修复的损害。

当安装 apt 上不可用的 Python 包时,请使用 pip。 换句话说,能用pip安装的包,就不要用sudo。

使用 VS Code 编辑 Python 源代码

为了确保教程环境的一致性,我们将下载特定版本的 VS Code(或从我优盘里拷贝离线版本),然后用如下命令对其进行离线安装:

bash
sudo dpkg -i code_1.97.2-1739406807_amd64

运行 VS Code

Super 键,然后输入 code,找到 vs code, 。然后点击打开。

添加 ROS 插件到 VS Code

打开扩展选项卡,使用 CTRL+SHIFT+X 。它将打开一个类似这样的选项卡。

vscode的插件商店

搜索“ROS”并点击“安装”。请务必选择微软插件。有许多其他名称相同但由其他人制作的插件。

vscode的ROS插件

安装成功后,菜单将变为如下所示:

成功安装ROS插件