Затмение PyDev: __module_not_in_the_pythonpath__ - PullRequest
1 голос
/ 30 января 2020

CentOS Linux выпуск 7.6.1810 (ядро)

openjdk 11 2018-09-25

Python 3.6.9

Eclipse IDE для разработчиков RCP и RAP Версия: 2019-06 (4.12.0)

PyDev 7.0.3.2018. 11082356

Я новичок в PyDev и довольно новичок в Python.

У меня есть Python проект, состоящий из нескольких десятков проектов / плагинов Eclipse.

При наведении курсора на метод Python в нашем коде для получения дополнительной информации или использования инструментов я получаю следующее сообщение об ошибке:

Found at: __module_not_in_the_pythonpath__

enter image description here

Каждый проект Eclipse был импортирован следующим образом:

Импорт> Git> Проекты из Git> Существующий локальный репозиторий> Выберите репозиторий (выбирая все проекты в репо, затем переходя к «fini sh»:)

Каждый проект Eclipse имеет:

  1. каталог «sr c», содержащий *. java files
  2. директория "util", содержащая * .py файлы
  3. автоматически сгенерированный файл .project (недостаточно заполнен)
  4. автоматически сгенерированный файл .pydevprodject (недостаточно заполнен)

enter image description here

Файл .project у меня есть:

enter image description here

Файл .pydevproject У меня есть:

enter image description here

Очевидно, из этого FAQ эти файлы .project и .pydevproject нужны подлежит обновлению.

«util» dir является родительским каталогом для всех файлов проектов * .py. У него нет файла __init__.py. Нужно ли ставить один в "util" dir, чтобы исправить эту ошибку? Будет ли одного __init__.py файла в каталоге «util» достаточно, чтобы Python и Eclipse нашли все файлы * .py в подкаталогах под ним?

1 Ответ

1 голос
/ 31 января 2020

Я не уверен, действительно ли модуль был импортирован как проект PyDev (потому что проект root не был показан на скриншоте).

Если это так, вы можете преобразовать свой спроецируйте проект PyDev, щелкнув его правой кнопкой мыши и выбрав PyDev > Set as PyDev project.

. После того, как он станет проектом PyDev, вы должны установить каждую папку, находящуюся в PYTHONPATH, в качестве исходной (обратите внимание, что только запись в PYTHONPATH должен быть установлен таким образом, а не подпапки).

Вы можете либо щелкнуть правой кнопкой мыши по папке и выбрать PyDev > Set as source folder, либо, если у вас слишком много записей, вы можете создать скрипт для генерации файлов .pydevproject с этими записями, как описано в http://www.pydev.org/faq.html#ImportExistingSources .

Обратите внимание, что вы не должны добавлять эти папки в PYTHONPATH интерпретатора (папки, добавленные в PYTHONPATH в интерпретаторе, являются общими для всех проектов, тогда как папки, добавленные в качестве исходных папок, действительны только для одного проект - если у вас есть несколько проектов, PyDev создаст окончательный PYTHONPATH на основе интерпретатора + проект + проекты, на которые есть ссылки).

...