You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Conda安装rospy后ROS版本冲突及卸载失败问题求助

解决Conda环境中ROS Melodic与系统Noetic冲突及卸载失败问题

一、强制卸载Conda环境里的ROS包

如果conda uninstall ros-rospy卸载失败,按以下步骤操作:

  • 先确保激活的是目标环境:conda activate mujoco_py
  • 用带发行版前缀的精确包名+强制参数卸载:
    conda uninstall --force ros-rospy ros-melodic-rospy
    
  • 要是还不行,直接删除环境内的ROS相关文件:
    1. 先找环境路径:conda env list,找到mujoco_py对应的路径(比如~/miniconda3/envs/mujoco_py)
    2. 删除Python site-packages里的ROS文件:
      rm -rf ~/miniconda3/envs/mujoco_py/lib/python3.8/site-packages/ros*
      
      (把python3.8换成你环境里的Python版本)
    3. 删除bin目录下的ROS脚本:
      rm -rf ~/miniconda3/envs/mujoco_py/bin/ros*
      
  • 最后清理conda缓存:conda clean -a

二、实现Conda与系统ROS环境的隔离

要让两个环境互不干扰,得做好环境变量的隔离:

1. 确保系统环境正常用Noetic

退出Conda环境后,检查~/.bashrc里的ROS配置,应该只有这一行:

source /opt/ros/noetic/setup.bash

如果之前被Conda添加过其他ROS相关的source语句,删掉多余的,然后执行source ~/.bashrc生效。

2. Conda环境中使用ROS(两种可选方式)

方式一:复用系统的Noetic

激活Conda环境后,手动source系统的Noetic配置:

conda activate mujoco_py
source /opt/ros/noetic/setup.bash

想自动执行的话,给Conda环境加激活脚本:

  1. 创建激活脚本目录:mkdir -p ~/miniconda3/envs/mujoco_py/etc/conda/activate.d
  2. 新建ros_setup.sh文件并写入内容:
    #!/bin/bash
    source /opt/ros/noetic/setup.bash
    
  3. 再创建退出脚本避免影响系统:mkdir -p ~/miniconda3/envs/mujoco_py/etc/conda/deactivate.d
  4. 新建ros_deactivate.sh文件并写入:
    #!/bin/bash
    unset ROS_DISTRO ROS_ROOT ROS_PACKAGE_PATH
    

方式二:在Conda环境独立安装Noetic

不想依赖系统ROS的话,直接装Noetic版本的rospy:

conda activate mujoco_py
conda install -c conda-forge ros-noetic-rospy

装完后用env |grep ROS检查,应该显示ROS_DISTRO=noetic

三、验证环境是否正常

  • 退出Conda环境,执行roscore,确认启动的是Noetic版本
  • 激活mujoco_py环境,执行以下命令验证rospy:
    python -c "import rospy; print(rospy.__version__)"
    
    应该输出Noetic对应的版本号(比如1.15.14)

内容的提问来源于stack exchange,提问作者Longsen Gao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 14:06:39