Неясно, как правильно структурировать наши проекты / пакеты PyDev в нашем git-репо, чтобы абсолютный импорт работал как , а .Это приводит к тому, что Eclipse выдает ошибку «неразрешенного импорта», которую я не понимаю.
В настоящее время репозиторий выглядит так:
REPO/ [repo master] # Set as source folder (PYTHONPATH)
package_A/ # Set as source folder (PYTHONPATH)
__init__.py # from foo import some_func
__main__.py # Absolute import required
foo.py # some_func()
package_B # Set as source folder (PYTHONPATH)
__init__.py
__main__.py
bar.py
__init__.py # Empty
package_A/__init__.py
выглядит так:
from foo import some_func
Теперь я перехожу на package_A/__main__.py
и хочу импортировать some_func()
из foo
:
from foo import some_func # works
from package_A import some_func # unresolved import error in Eclipse
# The latter case should work due to the initial import in __init__
Согласно этому источнику , второй вариант должен работать,Тот факт, что это не означает, что по какой-то причине содержимое package_A/__init__.py
не имеет никакого эффекта.В чем моя ошибка?
В чем причина вышеуказанной нерешенной ошибки импорта?