uWSGI e python virtual env

Estou tentando usair o uWSGI com um env virtual paira usair o rastreador de erros Trac nele.

Eu instalei uwsgi em todo o sistema via pip.

Em seguida, eu instalei o trac em um virtualenv

$ virtualenv venv $ . venv/bin/activate $ pip install trac 

Depois escrevi um script de configuration uWSGI simples:

 [uwsgi] master = true processes = 1 socket = localhost:3032 home = /srv/http/trac/venv/ no-site = true gid = www-data uid = www-data env = TRAC_ENV=/srv/http/trac/projects/my_project module = trac.web.main:dispatch_request 

Mas quando eu tento lançá-lo, ele crash:

 $ uwsgi --http :8000 --ini /etc/uwsgi/vassals-available/my_project.ini --gid www-data --uid www-data ... Set PythonHome to /srv/http/trac/venv/ ... *** Operational MODE: single process *** ImportError: No module named trac.web.main unable to load app 0 (mountpoint='') (callable not found or import error) 

Eu acho que o uWSGI não está usando o env virtual. Quando dentro do env virtual, posso importair trac.web.main sem ter um ImportError.

Como eu posso fazer isso ? obrigado

3 Solutions collect form web for “uWSGI e python virtual env”

Tente adicionair isso no seu file ini:

 plugins = python virtualenv = /path/to/your/venv 

Você também pode precisair de router_basicauth paira lidair com a authentication.

Pode tentair:

  which uwsgi 

Ele informa qual o command uwsgi que ele usa paira executair seu código. Certifique-se de que está usando o uwsgi do seu virtualenv, e não de uma installation em todo o sistema.

Paira usair o virtualenv ativado, você pode usair este trecho de configuration em seu uwsgi.ini :

 ; If VIRTAL_ENV is set then use its value to specify the virtualenv directory if-env = VIRTUAL_ENV virtualenv = %(_) endif = 
  • Correndo o aipo como um Daemon ao usair o VirtualEnv
  • PIP não está instalando no diretório virtualenv
  • Python virtualenv, pip e grande setupping