我在这里尝试遵循 Udemy 课程中的 ROS2 教程,根据该教程,我创建了一个裸露的最小节点,并且 IDE 中无法识别主包 RCLPY。我用 Pycharm 尝试过这个。但是,当使用 colcon build 安装代码时,代码将按预期工作。
由于无法识别该包,因此自动完成功能也不起作用。
我在 ubuntu 22.04LTS 上使用 ROS2 简陋发行版。
我不知道如何从这里继续。 谢谢您的帮助!
所以我自己找到了一个答案,只是将 rclpy 模块导入到 pycharm 中。这里真正的问题是 pycharm 中的解释器不会自动查找 ros2 模块,因此我们需要手动添加它们。以下是添加模块路径以使解释器查找它的步骤。
第 1 步:转到文件 > 设置 > python 解释器 > 显示全部
第 3 步:使用加号包含下面提到的路径。
/opt/ros/<distro>/bin
/opt/ros/<distro>/local/lib/python3.10/dist-packages
/opt/ros/<distro>/lib/python3.10/site-packages
/opt/ros/<distro>/lib
我的发行版是 ROS2 HUMBLE,python 版本取决于您使用的 python 版本。
第4步:按确定并重新启动Pycharm IDE
我仍然面临错误
ImportError: librcl_action.so: cannot open shared object file: No such file or directory
当我找到解决方案时,将更新此线程。 另请参阅此 github 页面以获取更多信息github thread
关于上述错误的更新:
正如之前所说,我遇到了 IDE 无法识别 ROS2 的 rclpy 库的问题。正如昨天的评论中,我提到了如何通过在 Pycharm IDE 中添加解释器路径来解决问题。 Pycharm IDE 尝试在 IDE 内运行该文件或类似的内容,并收到与该线程标题相同的错误。今天我用 Visual Studio Code 尝试了代码,令人惊讶的是 VS Code 识别出了 rclpy 库,并显示了该库的所有自动完成功能和其他内容。由于 VS code 运行 IDE 内终端中的每个文件,因此代码可以正常运行。我认为这可能会解决您的错误问题?