[英]How do I get the Flask package tutorial work with Poetry?
I'm using Poetry to manage my Python project (dependencies, package, etc) and I'm trying to implement the four-line hello world from Flask documentation: https://flask.palletsprojects.com/en/1.1.x/模式/包/#simple-packages
我的文件夾結構如下所示:
myproject/
.venv/
myproject/
__init__.py
views.py
poetry.lock
pyproject.toml
README.rst
這兩個文件, init .py:
import myproject.views
__version__ = '0.1.0'
from flask import Flask
app = Flask(__name__)
和views.py:
from myproject import app
@app.route('/')
def index():
return 'hello world'
然而,當我運行 export FLASK_APP=myproject 和 FLASK_ENV=development 並執行flask run
並將我的瀏覽器指向端口時,它說
flask.cli.NoAppException
flask.cli.NoAppException: While importing "myproject", an ImportError was raised:
Traceback (most recent call last):
File "/myproject/.venv/lib/python3.9/site-packages/flask/cli.py", line 240, in locate_app
__import__(module_name)
File "/myproject/myproject/__init__.py", line 1, in <module>
import myproject.views
File "/myproject/myproject/views.py", line 1, in <module>
from myproject import app
ImportError: cannot import name 'app' from partially initialized module 'myproject' (most likely due to a circular import) (/myproject/myproject/__init__.py)
我怎樣才能解決這個問題? 我想使用推薦的模式。
我相信您的問題來自導入__init__.py
頂部的視圖。 嘗試將 import 語句移動到文件的末尾,就像教程一樣。
在您的終端中,輸入poetry run flask run
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.