python - 使用 virtualenv 和 flask 运行 uwsgi

标签 python flask debian uwsgi

尝试运行我的 Flask 应用程序时出现错误:

uwsgi no module named site

我这样创建了一个配置文件:

[uwsgi]
socket = 127.0.0.1:8000
processes = 4
virtualenv = /var/www/test/venv
chdir = /var/www/test
module = run
callable = manager
logto = var/www/uwsgi.log

我的run.py的位置是/var/www/test/run.py,代码如下:

from flask.ext.migrate import Migrate, MigrateCommand
from flask.ext.script import Manager
from app import app, db

if __name__ == "__main__":
    migrate = Migrate(app, db)
    manager = Manager(app)
    manager.add_command('db', MigrateCommand)
    manager.run()

谁能帮我弄清楚我哪里出错了?我正在运行系统范围的 UWSGI。

编辑

我使用 pip 安装了 uwsgi 和 virtualenv,我有以下版本:

  • uWSGI==2.0.2
  • 虚拟环境==1.11.4

我的系统级 python 版本(以及我的 venv 中的版本)是:Python 2.7.3

最佳答案

您不想同时使用 app.run()(或 manager.run())和 uwsgi,因为:

所以你只需要正确设置 uwsgi,类似的东西应该可以工作:

app-name   = test 

pidfile    = /run/uwsgi/%(app-name)/pid
socket     = /run/uwsgi/%(app-name)/socket

logto      = /var/log/uwsgi/%(app-name).log
log-date   = true

processes  = 4
plugins    = http,python

base       = /srv/www/%(app-name)
home       = %(base)/venv # http://uwsgi-docs.readthedocs.org/en/latest/Options.html#home-virtualenv-venv-pyhome
pythonpath = %(base)/venv # http://uwsgi-docs.readthedocs.org/en/latest/Options.html#pythonpath-python-path-pp

module     = app 
callable   = app

chdir      = %(base)

关于python - 使用 virtualenv 和 flask 运行 uwsgi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22196875/

相关文章:

linux - Debian/Linux 中 [y/n] 的自动化

python - 如何处理/映射自定义 postgresql 类型到 Django 模型

3D刚体平移和旋转的python实现

python - uWSGI 的意义何在?

c++ - 制作适用于 C++ 代码的 GUI

c++ - 如何在 Debian 7 上安装 FFmpeg 开发者库

Python对数图

python - 在python中解析.ini文件

python - SQLAlchemy automap - 向自动映射模型添加方法

python - 通过 Python Flask 服务器提供服务时,Vue 应用程序不会加载