Pylint - Невозможно импортировать модуль, запущенный из другой программы - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть структура каталогов, такая как:

+Root
  +B
    -module_B.py
    -module_A.py
  -mainprogram.py
  1. С mainprogram.py Я использую функцию somefun() присутствует в module_B.py

  2. В module_B.py Я использую функцию anotherfun() в module_A.py

Однако, когда я использую оператор from module_A import anotherfun() вmodule_B.py, и когда я запускаю mainprogram.py во время выполнения, выдает ошибку No module named module_A в module_B.py.

Поэтому я изменил from module_A import anotherfun() в module_B.py на from B.module_A import anotherfun() и работает нормально только для Pylint, чтобы выдать ошибку при наборе Visual Studio Code, что, хотя и безвредно, раздражает.

1 Ответ

0 голосов
/ 05 февраля 2019

Вы должны попытаться добавить файл __init__.py в корневой каталог, чтобы импортировать то, что вам нужно, из директории 'B'.Например, ваш __init__.py файл должен содержать;

from B.module_B import anotherfun()

И тогда ваш mainprogram.py файл может просто включать;

import anotherfun()

Это помогает сохранить все организованным в долгосрочной перспективе, если вы добавите больше каталогов и т. Д.

...