首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用错误Python的水瓶的Gunicorn

使用错误Python的水瓶的Gunicorn
EN

Stack Overflow用户
提问于 2013-09-13 01:18:33
回答 6查看 21.8K关注 0票数 27

我正试图在Gunicorn服务器上引导一个Flask应用程序。通过把这两个工具的文档放在一起,再在上面搜索,这就是我到目前为止.但效果不太好。

app.py

代码语言:javascript
运行
复制
from flask import Flask, render_template
from flask.ext.sqlalchemy import SQLAlchemy
from werkzeug.contrib.fixers import ProxyFix

app = Flask(__name__)
app.wsgi_app = ProxyFix(app.wsgi_app)
db = SQLAlchemy(app)

@app.route('/')
def index():
    return render_template('index.html')

我运行的

来自与app.py相同的目录,

代码语言:javascript
运行
复制
gunicorn app:app

即使开始这么小,我也错过了一些东西。错误消息没有多大帮助:

2013-09-12 20:13:07 11461启动 2013-09-12 20:13:07 11461收听:http://127.0.0.1:8000 (11461) 2013-09-12 20:13:07 11461使用工人:同步 2013-09-12 20:13:13:07 11528启动工人pid: 11528 2013年-09-12 20:13:07 11528工人退出(pid: 11528) 2013-09-12 20:13:08 11461关机:师父 2013-09-12 20:13:08 11461原因:工人开机失败.

顺便说一下,我正在Debian系统上运行这个程序。非常感谢您的帮助!

更新

在启动调试之后,我得到了一些更有指导意义的错误消息。这已经很快成为一个非常具体的问题:ImportError: No module named flask。通常,当我没有使用我的虚拟主机时,我会遇到这样的错误--但是我是。仔细观察一下,Gunicorn似乎使用了不同于我的虚拟版本的Python版本,即Python3。所以..。我特别喜欢的蟒蛇似乎没有被使用。我如何解决这个问题,并告诉Gunicorn使用正确的Python?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-09-13 01:40:05

gunicorn实用程序可能是从系统路径中跑出来的,而不是您的虚拟设备。

确保将pip install gunicorn放入虚拟环境中。

下面是我为运行您的应用程序而设置的虚拟主机的pip冻结:

代码语言:javascript
运行
复制
(so_2)20:38:25 ~/code/tmp/flask_so$ pip freeze
Flask==0.10.1
Flask-SQLAlchemy==1.0
Jinja2==2.7.1
MarkupSafe==0.18
SQLAlchemy==0.8.2
Werkzeug==0.9.4
gunicorn==18.0
itsdangerous==0.23
wsgiref==0.1.2

实际上,我只运行了以下pip install

代码语言:javascript
运行
复制
$ pip install flask
$ pip install gunicorn
$ pip install Flask-SQLAlchemy
票数 30
EN

Stack Overflow用户

发布于 2013-10-19 23:46:07

我和你有同样的问题。问题是,由于某种原因,gunicorn在虚拟env之外加载环境。我的解决办法是在虚拟环境之外卸载这个包;

代码语言:javascript
运行
复制
(env) $ deactivate
$ sudo pip uninstall gunicorn

所以你回到你的副官,试着逃跑。在我的例子中,我输入了env文件夹:

代码语言:javascript
运行
复制
$ source env/bin/activate
(env) $ pip install gunicorn
(env) $ gunicorn server:app
2013-10-19 20:40:56 [11923] [INFO] Starting gunicorn 18.0
2013-10-19 20:40:56 [11923] [INFO] Listening at: http://127.0.0.1:8000 (11923)
2013-10-19 20:40:56 [11923] [INFO] Using worker: sync
2013-10-19 20:40:56 [11926] [INFO] Booting worker with pid: 11926
票数 30
EN

Stack Overflow用户

发布于 2017-08-31 06:09:27

Gunicorn可能安装在您的系统中的多个位置。它可能存在于

  1. OS默认Python路径
  2. Anaconda Python路径

默认情况下,当指定

gunicorn -w 4 -b 127.0.0.1:5000 flaskApp:app

您正在引用操作系统的默认Python,在相同路径中,没有安装烧瓶包会导致错误。最好通过提供正确的路径来指定你要去的是哪一只枪角。

/home/sunil/anaconda2/bin/gunicorn -w 4 -b 127.0.0.1:5000 flaskApp:app

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18776745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档