为什么 Gunicorn 仅在 flask 安装在 virtualenv 之外时才工作?
Why is Gunicorn only working when flask is installed outside of virtualenv?
我正在 ubuntu 14.04 VPS 上部署基于 Flask 的 Web 应用程序。我基本上是按照我在 Real Python here 找到的说明进行操作。以前,当我启动 gunicorn 时,我收到消息:"ImportError: No module named flask";尽管已确保 flask 安装在 virtualenv 中并已将其删除并重新安装了几次,以及停用和重新激活 virtualenv 以及删除然后重新安装 virtualenv。
在我无能为力的时候,我想我会在 virtualenv 停用和中提琴时安装烧瓶! gunicorn 运行没有问题。然后我想我会在 virtualenv 之外启动 gunicorn,我发现即使 virtualenv 关闭它也能正常工作。
有谁知道为什么会这样?
我是运行的gunicorn命令是:
gunicorn app:app -b localhost:8000
我是 运行 这个项目文件夹中的命令,该文件夹包含文件 app.py,其中包含以下代码:
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/')
def index():
return 'Flask is running!'
@app.route('/data')
def names():
data = {"names": ["John", "Jacob", "Julie", "Jennifer"]}
return jsonify(data)
if __name__ == '__main__':
app.run() code here
确保您 运行 的 gunicorn 是安装在您的 virtualenv 中的那个。试试 which gunicorn 我怀疑它会指向你在全局 python 安装中安装的 gunicorn 而不是你的 virtualenv 中的那个。
我正在 ubuntu 14.04 VPS 上部署基于 Flask 的 Web 应用程序。我基本上是按照我在 Real Python here 找到的说明进行操作。以前,当我启动 gunicorn 时,我收到消息:"ImportError: No module named flask";尽管已确保 flask 安装在 virtualenv 中并已将其删除并重新安装了几次,以及停用和重新激活 virtualenv 以及删除然后重新安装 virtualenv。
在我无能为力的时候,我想我会在 virtualenv 停用和中提琴时安装烧瓶! gunicorn 运行没有问题。然后我想我会在 virtualenv 之外启动 gunicorn,我发现即使 virtualenv 关闭它也能正常工作。
有谁知道为什么会这样?
我是运行的gunicorn命令是:
gunicorn app:app -b localhost:8000
我是 运行 这个项目文件夹中的命令,该文件夹包含文件 app.py,其中包含以下代码:
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/')
def index():
return 'Flask is running!'
@app.route('/data')
def names():
data = {"names": ["John", "Jacob", "Julie", "Jennifer"]}
return jsonify(data)
if __name__ == '__main__':
app.run() code here
确保您 运行 的 gunicorn 是安装在您的 virtualenv 中的那个。试试 which gunicorn 我怀疑它会指向你在全局 python 安装中安装的 gunicorn 而不是你的 virtualenv 中的那个。