У меня есть файловая структура:
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.