我的瓶项目的结构如下:瓶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)
)
This worked befo但是我试图将我的项目从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的:模块“应用”有没有属性“run'' – rasmi
我得到'AttributeError错误的唯一方法:‘模块’对象有没有属性” run''是,当我更换'从应用程序导入'带'进口应用程序'。 – dm295