Избегание `sys.path.append(..)` для импортаPython

Программы на Python
Ответить
Anonymous
 Избегание `sys.path.append(..)` для импорта

Сообщение Anonymous »

Это не первый раз, когда я смущаюсь по поводу импорта в Python. Но я думаю, что это интересный вариант использования, поэтому я решил задать его здесь, чтобы получить гораздо лучшее представление. Структура моего проекта следующая:

Код: Выделить всё

sample_project
- src
- __init__.py
- module1
- __init__.py
-  utils.py
- module2
- __init__.py
- models.py
- app.py
Модуль1 импортирует методы из модуля2, а приложение импортирует методы из всех остальных. Кроме того, когда вы запускаете приложение, ему необходимо создать папку с именем logs вне папки src. Теперь есть способы запустить приложение:
  • Из папки src запустите приложение flask
  • Из-за пределов папки src запустите src.app
Чтобы убедиться, что я не получу ошибки импорта из-за изменения модуля верхнего уровня, где запускается приложение, я делаю это:

Код: Выделить всё

import sys
sys.path.append("..")
Есть ли лучшее решение этой проблемы?

Подробнее здесь: https://stackoverflow.com/questions/680 ... or-imports
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»