Мой Колба проект структурирована следующим образом:Колба AttributeError: модуль 'приложение' имеет атрибута 'запустить'
my_project
│
├── app
│ ├── __init__.py
│ ├── api
│ ├── static
│ └── templates
├── config.py
└── run.py
приложение/__ init__.py:
from flask import Flask
app = Flask(__name__)
app.config.from_object('config')
run.py
from app import app
app.run(
host=app.config.get('HOST', '0.0.0.0'),
port=app.config.get('PORT', 5000)
)
Это работало befo re, но я пытаюсь перенести свой проект с Python 2 на Python 3, а работающий python run.py
больше не работает. Я получаю следующее сообщение об ошибке:
Traceback (most recent call last):
File "/Users/rasmi/Projects/my_project/run.py", line 3, in <module>
app.run(
AttributeError: module 'app' has no attribute 'run'
Если изменить стиль импорта в run.py
, чтобы соответствовать один here:
from .app import app
app.run(
host=app.config.get('HOST', '0.0.0.0'),
port=app.config.get('PORT', 5000)
)
я получаю другую ошибку:
Traceback (most recent call last):
File "/Users/rasmi/Projects/my_project/run.py", line 1, in <module>
from .app import app
ModuleNotFoundError: No module named '__main__.app'; '__main__' is not a package
Обмотка мой app.run()
вызов в блоке if __name__ == '__main__':
дает те же результаты. Что вызывает эту проблему?
Я пробовал этот подход (см. Конец моего вопроса), и это не сработало. Я получаю ту же ошибку: 'AttributeError: module 'app' не имеет атрибута 'run'' – rasmi
Единственный способ, которым я получаю объект' AttributeError:' module ', не имеет атрибута' run'', когда я заменяю 'приложение app app app 'с' import app'. – dm295