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

时间:2013-03-23 05:48:26

标签: python flask

我正在开发一个应用程序,其结构与

类似
facebook/
         __init__.py
         feed/
             __init__.py
             models.py
             business.py
             views.py
         chat/
             __init__.py
             models.py
             business.py
             views.py

我的facebook.__init__.py

from flask import Flask
app = Flask(__name__)
import feed.views
import chat.views

我的facebook.runserver.py

from . import app
app.run(debug=True)

我的feed.views.py

from .. import app

@app.route('/hello')
def hello():
    return 'hello world'

我的chat.views.py

from .. import app

@app.route('/chat')
def chat():
    return 'Let's chat'

当我尝试以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

我该如何解决?

1 个答案:

答案 0 :(得分:6)

runserver.py放在facebook文件夹之外,并将其内容设为:

from facebook import app
app.run(debug=True)