????????今天在另外一台电脑上操作复现【ROS建模:一起从零手写URDF模型】这个博客时,发生了一些问题,特此记录下来
【ROS建模:一起从零手写URDF模型】链接:
https://blog.csdn.net/qq_54900679/article/details/135726348?spm=1001.2014.3001.5502
在操作至这里时:
发生了报错,内容如下:
确保你已经安装了 'catkin_pkg',可以在终端中执行:
pip show catkin_pkg
????????从输出的信息来看,已经在 Anaconda 环境中安装了 catkin_pkg
,版本是 1.0.0。这个版本应该是相对较新的。问题可能不在于 catkin_pkg
本身,而是在于与 Python 3.10 版本的兼容性,或者是与其他 ROS 组件的集成方式。
????????考虑到目前这个电脑上使用的是 Anaconda 环境和 Python 3.10,这里建议:
检查 catkin_pkg
和 Python 3.10 的兼容性:
catkin_pkg
已安装,但可能存在与 Python 3.10 的兼容性问题。尝试查找 catkin_pkg
的官方文档或相关论坛,看看是否有关于 Python 3.10 兼容性的信息。使用系统 Python:
检查其他依赖:
docutils
, pyparsing
, python-dateutil
, setuptools
)是否都与 Python 3.10 兼容。尝试在虚拟环境中安装:
查看 ROS 和 Python 版本的兼容性信息:
于是,我们在conda哈环境中新建一个环境,使用python3.8版本:
????????Python 3.8 通常与 ROS Noetic 和大多数 Python 包更兼容。按照以下步骤创建和配置新的 Conda 环境:
创建新的 Conda 环境: 打开命令行界面,输入以下命令来创建一个新的环境(假设我们命名它为 ros_env
)并指定 Python 版本为 3.8:
conda create -n ros_env python=3.8
激活新环境: 创建环境后,激活它:
conda activate ros_env
安装所需的包: 在新环境中,您需要重新安装 catkin_pkg
和任何其他 ROS 相关的依赖。使用 pip
或 conda
来安装这些包:
pip install catkin_pkg
如果有其他依赖包也需要安装,同样使用 pip 安装。
下面,继续来到工作空间下进行编译,切换到你自己命名创建好的conda环境中:
catkin_make
接着肯定会报错,因为还缺少其他的包,下面我给出需要安装的包:
pip install empy
好了,再次编译出现如下则算成功:
问题解决!!!
补充:最后经过测试,python3.9版本也可以编译成功,推荐python3.9.12版本
其时也可以直接在conda环境中更改python的版本,比如:
激活您的 Conda 环境: 在命令行中,首先激活您要更改 Python 版本的 Conda 环境后,在更改版本之前,您可以检查当前使用的 Python 版本:
python --version
更改 Python 版本: 使用以下命令来安装新的 Python 版本到您的环境中:
conda install python=3.x
将 3.x
替换为您想要的 Python 版本号,例如 3.7
、3.8
或 3.9
。
验证更改: 安装完成后,再次使用以下命令验证 Python 版本:
python --version
注意依赖兼容性: 更改 Python 版本可能会影响环境中其他包的兼容性。在更改版本后,确保重要的包仍然正常工作。您可能需要重新安装或更新某些包以确保兼容性。