Flask 如何与uwsgi和主管一起设置conda env?

Flask 如何与uwsgi和主管一起设置conda env?,flask,uwsgi,supervisord,conda,Flask,Uwsgi,Supervisord,Conda,我正在尝试使用conda env和uwsgi和supervisor运行一个Flask应用程序 我设法解决了一个关于wsgi脚本路径的问题,但是我找不到如何设置conda env 我的uwsgi配置文件/home/me/Development/flask/myflaskapp/myflaskapp.ini为 [uwsgi] module = wsgi master = true process = 2 chmod-socket = 666 chdir = /home/me/Development/

我正在尝试使用conda env和uwsgi和supervisor运行一个Flask应用程序

我设法解决了一个关于wsgi脚本路径的问题,但是我找不到如何设置conda env

我的uwsgi配置文件
/home/me/Development/flask/myflaskapp/myflaskapp.ini

[uwsgi]
module = wsgi
master = true
process = 2
chmod-socket = 666
chdir = /home/me/Development/flask/myflaskapp
socket = /home/me/Development/flask/myflaskapp/run/myflaskapp.sock
callable = app
vacuum = true
我的主管是

[program:uwsgi-myflaskapp]
command=/home/me/Development/miniconda/envs/myflaskapp/bin/uwsgi /home/me/Development/flask/myflaskapp/myflaskapp.ini
autostart=true
autorestart=true
stdout_logfile=/home/me/Development/flask/myflaskapp/log/uwsgi-myflaskapp.log
redirect_stderr=true
exitcodes=0
当我通过主管启动uwsgi时

*** Operational MODE: single process ***
Traceback (most recent call last):
  File "./wsgi.py", line 1, in <module>
    from myflaskapp import app
  File "./myflaskapp/__init__.py", line 1, in <module>
    from flask import Flask
ImportError: No module named flask
***操作模式:单进程***
回溯(最近一次呼叫最后一次):
文件“/wsgi.py”,第1行,在
从myflaskapp导入应用程序
文件“/myflaskapp/_init__uu.py”,第1行,在
从烧瓶进口烧瓶
ImportError:没有名为flask的模块

所以我想康达环境还没有设定。如何设置它?

从命令行启动uwsgi时,使用-H标记来设置Python路径

因此,在您的情况下,在supervisor配置中,将命令更改为:

command=/home/me/Development/miniconda/envs/myflaskapp/bin/uwsgi -H /path/to/your/virtualenv /home/me/Development/flask/myflaskapp/myflaskapp.ini
您可以使用

which python

在命令行上激活virtualenv。

我必须在我的主管配置文件中设置路径

environment=PATH=/home/me/Development/miniconda/envs/myflaskapp/bin

我知道已经很晚了,但这也应该有效


command=bash-c“源代码/路径到conda/bin/activate&&source激活环境名称和程序到run--config=config\u路径命令”

在执行uwsgi之前,您是否可以尝试使用supervisor激活venv?例如:
command=/path/to/venv/bin/activate&&/home/me/Development/miniconda/envs/myflaskapp/bin/uwsgi/home/me/Development/flask/myflaskapp/myflaskapp.ini
问题是,conda的激活脚本需要一个参数(环境名称),即使是非根环境中的参数,因此,uwsgi将尝试在没有参数的情况下调用激活脚本,它将失败。激活myEnv