您正在阅读的是旧版本但仍受支持的 ROS 2 文档。 Jazzy.
在 ROS 2 中使用 Python 软件包
目标 解释如何与 ROS 2 生态系统中的其他 Python 软件包互操作。
备注
需要注意的是,如果您打算使用预打包的二进制文件(无论是 辩论
文件或二进制归档发行版),Python 解释器必须与构建原始二进制文件时使用的解释器相匹配。如果您打算使用类似 虚拟机
或 pipenv
请确保使用系统解释器。如果使用类似 警笛
因此,解释器很可能与系统解释器不匹配,并与 ROS 2 二进制文件不兼容。
通过以下方式安装 rosdep
包含第三方 python 软件包的最快方法是使用相应的 rosdep 密钥(如果有的话)。 rosdep
可以通过
https://github.com/ros/rosdistro/blob/master/rosdep/base.yaml
https://github.com/ros/rosdistro/blob/master/rosdep/python.yaml
这些 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/iron/setup.bash
Colcon build
备注
如果要使用 Bloom 发布软件包,应将所需软件包添加到 rosdep
见 办事处关键贡献指南.