次のように私のフラスコプロジェクトが構成されていますフラスコは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私はプロジェクトをPython 2からPython 3に移行しようとしていて、python run.py
を実行しても動作しなくなりました。
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()
ラッピング:
from .app import app
app.run(
host=app.config.get('HOST', '0.0.0.0'),
port=app.config.get('PORT', 5000)
)
私は別のエラーが表示されます。私は1 hereが一致し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'
:私は次のエラーを取得しますif __name__ == '__main__':
ブロックのコールでも同じ結果が得られます。この問題の原因は何ですか?
私はこのアプローチを試みました(私の質問の終わりを参照)。 'AttributeError:module 'app'には属性 'run''がありません – rasmi
' AttributeError:' module 'オブジェクトには' run '属性がありません。 'と' 'import app'を使います。 – dm295