У меня есть три модуля:
plugin_grt.py
fragments.py
helpers.py
Прямо в верхней части plugin_grt.py Iесть
from jpa_export_helpers import SourceFile, Mysql, Conv, Columns, Column, Table, ForeignKey, Index, Catalog, Inheritance
, который работает, то есть я могу использовать Table.whwhatMethod (...) без проблем.Теперь, когда я добавляю тот же импорт в начало модуля fragments.py, я получаю:
Traceback (most recent call last):
File "C:\Users\Kawu\AppData\Roaming\MySQL\Workbench\modules\jpa_export_plugin_grt.py", line 53, in <module>
from jpa_export_helpers import SourceFile, Mysql, Conv, Columns, Column, Table, ForeignKey, Index, Catalog, Inheritance
File "C:\Users\Kawu\AppData\Roaming\MySQL\Workbench\modules\jpa_export_helpers.py", line 2, in <module>
from jpa_export_fragments import Type, EnumValue
File "C:\Users\Kawu\AppData\Roaming\MySQL\Workbench\modules\jpa_export_fragments.py", line 2, in <module>
from jpa_export_helpers import SourceFile, Mysql, Conv, Columns, Column, Table, ForeignKey, Index, Catalog, Inheritance
ImportError: cannot import name SourceFile
Почему это не работает?Единственный обходной путь - импортировать классы туда, где они нужны, но мне это не нравится (по крайней мере, на данный момент):
def getPrimaryKeyColumns(self):
from jpa_export_helpers import Columns
return Columns.getPrimaryKeyColumns(self.table.columns)
Обратите внимание, я изначально парень из Java, поэтому импортирую "вбудет "странным для меня.В любом случае, в чем здесь проблема?