从命令行启动Flask Web服务器

时间:2019-05-20 08:19:17

标签: python flask

我在我的开发机器上的PyCharm中放了一个小应用程序,现在我想在我的Raspberry Pi上测试它应该最终运行。在我的开发机器上,到目前为止一切正常,项目的PyCharm中的设置为:

  • 环境变量:PYTHONUNBUFFERED=1;FLASK_APP=__init__.py
  • 设置为PYTHONPATH的内容根目录和源根目录

文件夹结构如下:

├── __init__.py
├── controller
│   ├── AppLoopController.py
│   ├── DbController.py
│   ├── RfidController.py
├── model
│   ├── LogEntry.py
│   ├── Person.py
├── routes
│   └── routes.py
├── static
│   └── styles.css
├── templates
    ├── 404.html
    ├── base.html
    ├── index.html
    └── logs.html

我的__init__.py如下:

from flask import Flask
from routes import routes

app = Flask(__name__)
app.debug = True
app.register_blueprint(routes.web)

我已经做过

export PYTHONUNBUFFERED=1;FLASK_APP=__init__.py

因为这正是PyCharm的工作方式,但尝试从

开始
/usr/local/bin/flask run

返回以下错误:

Error: While importing "fzwk-app", an ImportError was raised:

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/flask/cli.py", line 236, in locate_app
    __import__(module_name)
  File "/opt/fzwk-app/__init__.py", line 17, in <module>
    from routes import routes
ImportError: No module named 'routes'

我认为我确实了解问题所在-我的有根据的猜测是,flask无法识别文件结构(请参见下面的错误)。我只是不知道在RPi的外壳上做什么...

1 个答案:

答案 0 :(得分:1)

事实证明我没有为项目正常运行设置PYTHONPATH。 所以用

设置
export PYTHONPATH=/path/to/project

它在我致电flask run时正在运行。

感谢您的投入,furas!