启动 flask server @startup with supervisor: FATAL Exited too quickly

start flask server @ startup with supervisor: FATAL Exited too quickly

我正在尝试在主管的帮助下启动我的 flaskserver。但我收到此错误消息:

python_auutostart                FATAL      Exited too quickly (process log may have details)

这是我的日志文件中的条目:

Traceback (most recent call last):
  File "run.py", line 2, in <module>
    from app import app
  File "/home/flaskserver/app/__init__.py", line 1, in <module>
    from flask import Flask
ImportError: No module named flask

这是我的 .conf:

[program:python_auutostart]
user=nobody
command = python run.py
directory = /home/flaskserver/
autostart = true
autorestart = true
stderr_logfile=/etc/supervisor/long.err.log
stdout_logfile=/etc/supervisor/long.out.log

如果我 运行 ./run.py 我可以毫无问题地启动我的 flaskserver 但我没有与主管一起 运行 。我不明白为什么我会收到我发布的 ImportError。也许有人可以指出我的问题。

您使用的 python 是默认系统 python(您可以检查 which python 应该显示类似 /usr/bin/python 的内容,或者您​​的系统 python 是)。这不能(默认情况下)访问安装在虚拟环境中的库。相反,您应该使用特定于 virtualenv 的 python。您可以通过显式调用应该位于 /path/to/virtualenv/env/bin/python 中的 python 来做到这一点。您可以通过激活 virtualenv 和 which python 来检查,它应该输出到 virtualenv 的 python 的路径。