Вызывает ли проблема вызов модуля в модуле, имя которого совпадает с именем папки, на python2? - PullRequest
0 голосов
/ 14 мая 2019

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

folder0
+-- Script
+-- module
|   +-- __init__.py
|   +-- module.py
|   +-- module2.py
|   +-- folder2
|   |   +-- module3.py
|   |   +-- __init__.py

в сценарии я называю:

from module.module import Class1

в module.py У меня есть что-то вроде этого:

from module.module2 import Class2

class Class1:
    kind = "plane"

в module2.py У меня есть что-то вроде этого:

from module.folder2.module3 import Class3

class Class2:
    kind = "car"

в module3.py У меня есть что-то вроде этого:

class Class3:
    kind = "bike"

Есть ли проблема с тем, как python2.7 ищет модуль, если модуль имеет то же имя, что и папка, в которой он находится, когда он начинает копать глубже?

Я получаю следующую ошибку:

Traceback (most recent call last):
  File "/Users/Me/Downloads/folder0/Script.py", line 2, in <module>
    from module.module import Class1
  File "/Users/Me/Downloads/folder0/module/module.py", line 2, in <module>
    from module.module2 import Class2
ImportError: No module named module2
[Finished in 0.119s]

Я запустил его на Python 2.7.16 и столкнулся с проблемой, описанной выше. Когда я меняю версию для запуска на Python 3.7.2, у меня нет этой проблемы. Когда я изменяю имя модуля "module" на "module1", у меня также не возникает этой проблемы на Python2. И да, я также изменил его в файле Script.py.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...