Позвольте мне предварить это, сказав, что я понимаю, что импорт является часто затрагиваемой темой в сообществе Python. Я только хочу, чтобы была разработана простая система импорта, но увы. В таком виде я уже упомянул много мест для потенциальных решений; пожалуйста, проверьте в приведенных ниже параграфах ссылки на другие темы вопросов SO, которые я уже прошел.
Вот структура каталогов для моего проекта:
Я хочу импортировать файл1.py из папки1 папки main_folder в свой код в файле2.py.
Следовательно, код импорта в file2.py:
from main_folder.folder1.file1 import some_func
Я пытаюсь нормально запустить file2.py из каталога приложения (python main_folder/folder2/file2.py
)
Я также пробовал следующие возможные решения в тех же условиях (все безрезультатно):
from application.main_folder.folder1.file1 import some_func # after adding init to application folder
и...
from folder1.file import some_func
и...
from .folder1.file1 import some_func
и...
from ..folder1.file1 import some_func
Я попробовал ответы, предложенные в этом другом вопросе. Второй по популярности ответ кажется самым питоническим способом сделать это, и я действительно пробую именно этот подход выше. Однако этот ответ, похоже, не работает для многих людей (и для меня), которые указали это в комментариях и предложили открыть еще один вопрос относительно того же.
Если этот подход не работает, то какую команду sys.path.append()
следует добавить вверху файла file2.py, чтобы иметь возможность from folder1.file1 import some_func
? Я понимаю, что этот метод sys.path.append не самый питонический способ сделать это, но, к сожалению, у нас, по-видимому, нет лучшего решения, пока ребята, разрабатывающие Python, не запустят что-то.