ROS 的 pydev 模块导入与控制台

pydev module import vs console for ROS

我目前正在尝试将 pydev 用于我的 ROS 项目(我使用 pydev 是因为我将 eclipse 用于 c++)现在我在导入一些模块时遇到了一些问题。 当前结构如下所示:

src
   package_name
      __init__.py
      src
         __init__.py
         package_name
            my_file.py
            __init__.py
      scripts
         my_module.py
         __init__.py

我使用 catkin_ws 作为我的项目根目录,并将 src 文件夹用作 pydev 的源文件夹。当我想导入一个模块时,例如my_module 来自 my_file 我必须使用(这就是 eclipse 所说的)

from package_name.scripts.my_module import XYZ

如果我在 pydev 中 运行ning my_file 这工作正常,但它不能从控制台工作(例如 ros运行 或 python3 my_file.py).在这种情况下我将如何导入 my_module 以及 pydev 如何将其识别为正确的?

另一件事,当我尝试从脚本文件夹中的另一个 python 脚本导入 my_module 时,我会假设使用

from my_module import XYZ 

可以正常工作(它使用控制台以及使用 pydev 运行)但 eclipse 仍然将其标记为错误。我该如何解决这个问题?

谢谢

这意味着错误的文件夹被设置为 Python 代码的源文件夹。

您可能将 /src 作为源文件夹,您可能应该在 PYTHONPATH 中设置 /src/package_name/srcsrc/scripts -- 不过请注意,我并不完全确定包的结构似乎有点奇怪...例如,为什么 __init__.py 就在 /src 文件夹下? (好像不对...)

注意:源文件夹是添加到 PYTHONPATH 的文件夹。参见:http://www.pydev.org/manual_101_project_conf2.html了解详情。