警告

您正在阅读的 ROS 2 文档版本已达到 EOL(生命周期结束),不再受官方支持。如果您想了解最新信息,请访问 Jazzy.

在 ROS 2 中使用 Python 软件包

目标 解释如何与 ROS2 生态系统中的其他 Python 软件包互操作。

备注

需要注意的是,如果您打算使用预打包的二进制文件(无论是 辩论 文件或 "胖 "二进制发行版),Python 解释器必须与构建原始二进制文件时使用的解释器相匹配。如果您打算使用类似 虚拟机pipenv请确保使用系统解释器。如果使用类似 警笛,解释器很可能与系统解释器不匹配,并且与 ROS2 二进制文件不兼容。

通过以下方式安装 rosdep

包含第三方 python 软件包的最快方法是使用相应的 rosdep 密钥(如果有的话)。 rosdep 可以通过

这些 rosdep 键可以添加到您的 package.xml 文件,向构建系统表明你的软件包(和依赖软件包)依赖于这些密钥。在一个新的工作区中,你也可以用以下方法快速安装所有 rosdep 密钥:

rosdep install -yr ./path/to/your/workspace

如果目前没有 rosdep 键,就可以将它们添加到您感兴趣的软件包中。 办事处关键贡献指南.

了解更多有关 rosdep 工具及其工作原理,请查阅 ROSDEP 文档.

通过软件包管理器安装

如果您不想制作 rosdep 密钥,但系统软件包管理器(例如 适切),就可以安装和使用该软件包:

sudo apt install python3-serial

如果软件包可在 Python 软件包索引 (PyPi) 并希望在系统中进行全局安装:

python3 -m 核心 安装 -U 串行

如果该软件包在 PyPi 上可用,而您想将其安装到本地用户:

python3 -m pip install -U --user pyserial

通过虚拟环境安装

首先,创建一个 Colcon 工作区:

mkdir -p ~/colcon_venv/src
cd ~/colcon_venv/

然后设置虚拟环境:

# 制作 a 虚拟 环境  启动 virtualenv -p python3 ./venv
source ./venv/bin/activate
# 制作 有把握的  胶管 没有 尝试  构建  v venv
touch ./venv/COLCON_IGNORE

接下来,在虚拟环境中安装所需的 Python 软件包:

python3 -m pip install gtsam pyserial... etc

现在,您可以构建工作区,并运行依赖于虚拟环境中安装的软件包的 python 节点。

# 资料来源 潇洒  构建
source /opt/ros/dashing/setup.bash
Colcon build

备注

如果想在 Bloom 上发布软件包,应将所需软件包添加到 rosdep办事处关键贡献指南.