Я знаю, что было много вопросов об этом, но мой довольно специфичен, и я действительно не знаю, почему импорт не работает. я получил следующую структуру папок:Python Import Error - конкретный случай
importmodule
-classes
-pluginhelper
-- __init__.py
-plugins
-- plugin_a
-- plugin b
-- ..
-__init__.py
-<other py files>
В моих плагинов файлов я импортировать pluginhelper как это:
from importmodule.pluginhelper import function1, function2, ...
функции определены в __ инициализации __.py
Выполнение моих файлов плагинов отлично работает на моем компьютере с Windows. Когда я делаю это на сервере, я получаю следующее исключение:
ImportError: No module named 'importmodule'
Любопытным является, что я получаю ошибку от каждого плагина, но один. В одном из плагинов импорт работает, в то время как в операторах импорта нет различий.
Я использую python 3.5 на обеих машинах, а на сервере мое приложение находится в контейнере докера.
Edit: Установка не работало sys.path либо:
print("Indexed Path for Package.")
sys.path.index(os.getcwd())
Я нашел возможную проблему: Структура папок в моем dockercontainer, кажется, по-другому. Я исправлю это и скажу, помогло ли это. По-прежнему я не понимаю, почему он работает с одним плагином, используя тот же оператор.
Вы пробовали 'from pluginhelper import function1, function2, ...'? –
PyCharm выделяет мне это мгновенно, поскольку он, кажется, ищет в importmodule.plugins.plugina.plugina.pluginhelper – PhilipB
Я вижу, а затем попробуйте добавить '__init __. Py' в папку' plugins', чтобы Python рассматривал это как модуль. –