在g1机器人上jeston orin开发板安装好conda环境后,如何指定conda虚拟环境python解释器运行ros2的功能包
·
解决方案:
(1).创建一个.sh文件,放在利用ros2创建的工作空间ws_detect即可(python_env.sh放在位置可以任意的位置):

(2).创建完成后python_env.sh内容如图所示:

echo "setup for ros2-foxy when conda activate yovol5"
# 1. 添加 conda 环境的 Python 库路径到 PYTHONPATH(关键:让节点找到 conda 安装的库)
export PYTHONPATH="/home/unitree/miniforge3/envs/yovol5/lib/python3.8/site-packages:$PYTHONPATH"
# 2. 加载 ROS 2 Humble 系统环境(替换为你的 ROS 2 安装路径,通常是 /opt/ros/humble)
# 已经写在~/.bashrc中了
# source /opt/ros/humble/setup.bash
# 3.显式设置 LD_LIBRARY_PATH,优先用 conda 的 lib
export LD_LIBRARY_PATH="/home/unitree/miniforge3/envs/yovol5/lib:$LD_LIBRARY_PATH"
注意!注意!注意! 要修改自己安装conda虚拟环境路径
(3).创建完成之后执行顺序依次为:

# 退出基环境
conda deactivate
# 进入工作空间
cd ws_detect
# 构建(使用系统ROS Python)编译时候利用ros2自带python
colcon build
# 激活运行环境
source install/setup.bash
source python_env.sh
# 运行节点(此时使用Conda Python解释器)
ros2 run pkg_detect detect_ros2_array
问题:
为何不直接source python.sh然后在进行colcon build:
原因可能是:ament_python、rosidl_generator_py 等通常安装在系统 ROS 环境下(例如 /opt/ros/foxy),Conda虚拟环境里没有。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)