ubuntu 20.04 conda python3.11环境下怎么运行rosrun roslaunch
在 Ubuntu 20.04 的 Conda Python 3.11 环境中配置并运行 ROS(Robot Operating System)的rosrun和roslaunch命令,需要注意多个依赖和环境兼容性问题。由于 ROS Noetic 是目前支持 Python 3 的第一个 ROS 版本,因此可以尝试在 Conda 环境下进行集成。
在 Ubuntu 20.04 的 Conda Python 3.11 环境中配置并运行 ROS(Robot Operating System)的 rosrun 和 roslaunch 命令,需要注意多个依赖和环境兼容性问题。由于 ROS Noetic 是目前支持 Python 3 的第一个 ROS 版本,因此可以尝试在 Conda 环境下进行集成。
安装与配置步骤
1. 安装 ROS Noetic
首先确保系统已安装 ROS Noetic,并且默认 Python 环境为 Python 3.8(Ubuntu 20.04 自带)4。ROS Noetic 的官方安装指南如下:
Bash
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt install curl curl -sSL 'https://raw.githubusercontent.com/ros/rosdistro/master/ros.key' | sudo apt-key add - sudo apt update sudo apt install ros-noetic-desktop-full
初始化 ROS 环境:
Bash
source /opt/ros/noetic/setup.bash
2. 配置 Conda 环境以支持 ROS
创建一个 Python 3.11 的 Conda 环境:
Bash
conda create -n ros_env python=3.11 conda activate ros_env
由于 ROS 默认使用系统的 Python 3.8,需要手动将 ROS 包路径添加到 Conda 环境中。可以通过设置 PYTHONPATH 来实现:
Bash
export PYTHONPATH=/opt/ros/noetic/lib/python3/dist-packages:$ PYTHONPATH
如果 ROS 节点需要编译或链接其他库,还需设置 LD_LIBRARY_PATH:
Bash
export LD_LIBRARY_PATH=/opt/ros/noetic/lib:$ LD_LIBRARY_PATH
3. 安装必要的 ROS 工具
在 Conda 环境中安装 ROS 的命令行工具 rosrun 和 roslaunch 所需的依赖:
Bash
pip install rospkg catkin_pkg
这些包提供了对 ROS 包结构的支持,并允许在非标准环境中运行 ROS 命令。
4. 使用 rosrun 和 roslaunch
在 Conda 环境中启动 ROS Master:
Bash
roscore
然后在新的终端窗口中激活 Conda 环境并运行节点:
Bash
conda activate ros_env export PYTHONPATH=/opt/ros/noetic/lib/python3/dist-packages:$ PYTHONPATH rosrun <package_name> <node_name>
同样地,使用 roslaunch 启动一组节点:
Bash
roslaunch <package_name> <launch_file>.launch
5. 注意事项
-
路径冲突问题:Conda 环境可能会覆盖系统 Python 路径,导致 ROS 找不到其依赖库。建议使用虚拟环境时明确指定
PYTHONPATH。 -
Python 版本兼容性:虽然 ROS Noetic 支持 Python 3,但某些第三方包可能尚未完全适配 Python 3.11。测试过程中如发现异常行为,可考虑使用 Python 3.8 创建 Conda 环境。
-
编译问题:若涉及自定义 ROS 节点的编译(如使用
catkin_make),请确保 CMake 使用的是系统 Python 而不是 Conda 环境中的 Python 2。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)