flask:在旁边的应用程序中创建应用程序说"ValueError:尝试非包装中的相对导入"

day*_*mer 4 python flask

我正在开发一个应用程序,它看起来与结构类似

facebook/
         __init__.py
         feed/
             __init__.py
             models.py
             business.py
             views.py
         chat/
             __init__.py
             models.py
             business.py
             views.py
Run Code Online (Sandbox Code Playgroud)

我的facebook.__init__.py

from flask import Flask
app = Flask(__name__)
import feed.views
import chat.views
Run Code Online (Sandbox Code Playgroud)

我的facebook.runserver.py

from . import app
app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)

我的feed.views.py

from .. import app

@app.route('/hello')
def hello():
    return 'hello world'
Run Code Online (Sandbox Code Playgroud)

我的chat.views.py

from .. import app

@app.route('/chat')
def chat():
    return 'Let's chat'
Run Code Online (Sandbox Code Playgroud)

当我尝试运行此应用程序时python runserver.py,我看到错误为

Traceback (most recent call last):
  File "facebook/runserver.py", line 1, in <module>
    from . import app
ValueError: Attempted relative import in non-package
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

nam*_*mit 6

把你runserver.pyfacebook文件夹放在外面并将其内容设为:

from facebook import app
app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)