日蚀 PyDev:__module_not_in_the_pythonpath__

Eclipse PyDev : __module_not_in_the_pythonpath__

CentOS Linux 7.6.1810 版(核心)

openjdk 11 2018-09-25

Python 3.6.9

用于 RCP 和 RAP 开发人员版本的 Eclipse IDE:2019-06 (4.12.0)

PyDev 7.0.3.2018.11082356

我是 PyDev 的新手,也是 Python 的新手。

我有一个由几十个 Eclipse projects/plugins 组成的 Python 项目。

当我在我们的代码中悬停 Python 方法以获取更多信息或使用工具时,我收到此错误消息:

Found at: __module_not_in_the_pythonpath__

每个 Eclipse 项目都是这样导入的:

导入 > Git > 来自 Git 的项目 > 现有本地存储库 > Select 一个存储库(选择存储库中的所有项目,然后转到 "finish" :)

每个 Eclipse 项目有:

  1. "src" 目录包含 *.java 个文件
  2. "util" 包含 *.py 文件的目录
  3. 一个自动生成的 .project 文件(人口不足)
  4. 自动生成的 .pydevprodject 文件(人口不足)

我的.project文件:

我的.pydevproject文件:

显然,从这个 FAQ 那些 .project 和 .pydevproject 文件需要更新。

"util" 目录是所有项目 *.py 文件的父目录。它没有 __init__.py 文件。我是否需要在 "util" 目录中放置一个来修复此错误? "util" 目录中的单个 __init__.py 文件是否足以让 Python 和 Eclipse 找到其下子目录中的所有 *.py 文件?

我不确定模块是否真的作为 PyDev 项目导入(因为项目根目录未在屏幕截图中显示)。

如果是这种情况,您可以通过右键单击项目并选择 PyDev > Set as PyDev project 将您的项目转换为 PyDev 项目。

将其作为 PyDev 项目后,您必须将 PYTHONPATH 中的每个文件夹设置为源文件夹(请注意,只有 PYTHONPATH 中的条目必须以这种方式设置,而不是子文件夹)。

您可以右键单击该文件夹并选择 PyDev > Set as source folder,或者如果您的条目太多,您可以创建一个脚本来生成包含这些条目的 .pydevproject 文件,如 [=13] 中所述=].

请注意,您不应将这些文件夹添加到解释器 PYTHONPATH(在解释器中添加到 PYTHONPATH 的文件夹在所有项目之间共享,而作为源文件夹添加的文件夹仅对一个项目有效——如果您有多个项目 PyDev 将根据解释器 + 项目 + 引用项目组成最终的 PYTHONPATH。