小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
使用一键安装过程中遇到程序崩溃
-
在此之前,我下载了python3.8.5版本,并执行了以下操作
code_text cd /usr/bin sudo rm -rf python sudo ln -s /usr/local/bin/python3.8.5 python
在安装后,colcon build则会报错
CMake Error at /opt/ros/humble/share/ament_cmake_core/cmake/core/ament_package_xml.cmake:95 (message): execute_process(/usr/local/bin/python3 /opt/ros/humble/share/ament_cmake_core/cmake/core/package_xml_2_cmake.py /home/liushuang/chapt7/chapt7_ws/src/fishbot_description/package.xml /home/liushuang/chapt7/chapt7_ws/build/fishbot_description/ament_cmake_core/package.cmake) returned error code 1 Call Stack (most recent call first): /opt/ros/humble/share/ament_cmake_core/cmake/core/ament_package_xml.cmake:49 (_ament_package_xml) /opt/ros/humble/share/ament_lint_auto/cmake/ament_lint_auto_find_test_dependencies.cmake:31 (ament_package_xml) CMakeLists.txt:23 (ament_lint_auto_find_test_dependencies) --- Failed <<< fishbot_description [3.25s, exited with code 1]
后面我想使用小鱼一键安装重新配置环境,发现还是会报错
Traceback (most recent call last): File "/tmp/fishinstall/install.py", line 134, in <module> main() File "/tmp/fishinstall/install.py", line 60, in main from tools.base import CmdTask,FileUtils,PrintUtils,ChooseTask,ChooseWithCategoriesTask,Tracking File "/tmp/fishinstall/tools/base.py", line 782, in <module> osversion = GetOsVersion() File "/tmp/fishinstall/tools/base.py", line 112, in GetOsVersion import distro ModuleNotFoundError: No module named 'distro'
-
从你提供的信息来看,问题主要出现在两个方面:
-
Python 环境配置问题:
你手动删除了系统默认的 Python 版本,并创建了一个指向 Python 3.8.5 的符号链接。这可能导致 ROS 2(你使用的是 Humble 版本)或其他依赖系统 Python 的工具出现问题,因为 ROS 2 可能需要特定版本的 Python,并且期望在/usr/bin/python
或/usr/bin/python3
下找到它。 -
一键安装脚本中的 Python 依赖问题:
在尝试使用一键安装脚本时,脚本因为缺少distro
模块而失败。这通常意味着 Python 环境中缺少某些必要的库。
解决步骤
1. 恢复系统 Python
首先,建议恢复系统的默认 Python 版本。这通常是一个较为保守的 Python 版本,如 Python 3.6 或 3.7(取决于你的 Linux 发行版)。你可以通过重新安装 Python 来实现这一点,例如在 Ubuntu 上:
sudo apt-get update sudo apt-get install --reinstall python3
确保
/usr/bin/python3
指向正确的系统 Python 版本。2. 安装 ROS 2 所需的 Python 版本
ROS 2 Humble 官方推荐使用 Python 3.8 或更高版本。但是,不建议直接修改系统默认的 Python 版本。你可以使用如
pyenv
或conda
这样的工具来管理多个 Python 版本。3. 安装或更新 Python 包
确保你的 Python 环境中安装了所有必要的包。对于一键安装脚本中的错误,你可以尝试在命令行中直接安装
distro
包:python3 -m pip install distro
或者,如果你使用的是特定的 Python 环境(如
conda
环境),确保你在该环境中安装了所有必需的包。4. 重新运行一键安装脚本
在确认所有依赖都已正确安装后,再次尝试运行一键安装脚本。
5. 检查 ROS 2 工作空间
如果问题仍然存在,检查你的 ROS 2 工作空间是否配置正确,包括
setup.bash
是否已正确 source。注意事项
- 在修改系统级别的 Python 配置时,务必小心,因为这可能会影响系统的稳定性和其他应用程序的运行。
- 使用版本管理工具(如
pyenv
,conda
)来管理 Python 版本和依赖,可以避免很多与版本冲突相关的问题。 - 确保你的系统环境变量(如
PATH
)设置正确,以便正确调用 Python 和其他工具。
以上为生成回答,仅供参考~
-
-
@ls3470319318 不要改默认的系统版本
-
@小鱼 谢谢鱼哥,已经解决了
-
-