Bri*_*son 16 python flask gunicorn
我正在尝试在Gunicorn服务器上引导Flask应用程序.通过将两个工具的文档放在一起,再加上搜索SO,这就是我到目前为止所做的......但它并不是很有效.
app.py:
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')
Run Code Online (Sandbox Code Playgroud)
我跑了什么:
从与app.py相同的目录,
gunicorn app:app
Run Code Online (Sandbox Code Playgroud)
即使从小开始,我也错过了一些东西.错误消息不是很有帮助:
2013-09-12 20:13:07 [11461] [INFO]开始枪声0.14.5
2013-09-12 20:13:07 [11461] [INFO]听力:http://127.0.0.1:8000(11461)
2013-09-12 20: 13:07 [11461] [INFO]使用worker:sync
2013-09-12 20:13:07 [11528] [INFO]使用pid启动工作人员:11528
2013-09-12 20:13:07 [11528] [INFO] ]工人退出(pid:11528)
2013-09-12 20:13:08 [11461] [INFO]关闭:大师
2013-09-12 20:13:08 [11461] [INFO]原因:工人未能启动.
顺便说一下,我在Debian Linux系统上运行它.非常感谢您的帮助!
更新
打开调试后,我收到了一些更具指导性的错误消息.这非常快速地成为一个非常具体的问题:ImportError: No module named flask.通常,当我不使用我的virtualenv时,我会遇到这种错误 - 但我是.仔细观察后,Gunicorn似乎使用的是与我的virtualenv使用的不同版本的Python,即Python3.所以...我的特定python似乎没有被使用.我如何解决这个问题,并告诉Gunicorn使用正确的Python?
Kyl*_*ley 21
gunicorn实用程序可能会耗尽系统路径,而不是你的virtualenv.
一定要pip install gunicorn进入virtualenv.
这是我设置运行你的应用程序的virtualenv pip冻结:
(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
Run Code Online (Sandbox Code Playgroud)
实际上,我只运行了这些pip install:
$ pip install flask
$ pip install gunicorn
$ pip install Flask-SQLAlchemy
Run Code Online (Sandbox Code Playgroud)
小智 17
我和你有同样的问题.问题是,由于某种原因,gunicorn将环境加载到虚拟环境之外.我解决了在虚拟环境之外卸载软件包的问题;
(env) $ deactivate
$ sudo pip uninstall gunicorn
Run Code Online (Sandbox Code Playgroud)
所以你回到你的环境并尝试跑步.在我的案例env文件夹中我键入:
$ 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
Run Code Online (Sandbox Code Playgroud)
小智 6
Gunicorn可能安装在您系统的多个位置.它可能存在于
默认情况下,指定时
gunicorn -w 4 -b 127.0.0.1:5000 flaskApp:app
您是指操作系统的默认Python,其中未安装相同的路径烧瓶包导致错误.通过为gunicorn提供正确的路径,更好地指定你正在努力的枪炮
/ home/sunil/anaconda2/bin/gunicorn -w 4 -b 127.0.0.1:5000 flaskApp:app
| 归档时间: |
|
| 查看次数: |
12782 次 |
| 最近记录: |