python virtualenv(包装器)+ uwsgi + nginx(再次)

时间:2015-02-13 19:54:55

标签: python virtualenv uwsgi virtualenvwrapper

好的,我知道有很多virtualenv + uwsgi + nginx篇文章,我已经阅读了大约50篇文章(我已经没有完全阅读了uWSGI文档)。

我的问题:

为什么这些选项中没有一个实际上activate我要求它做的virtualenv?

[uwsgi]
home = <path to python3 venv>
venv = <path to python3 venv>
virtualenv = <path to python3 venv>

但是我尝试了,我无法从默认的uwsgi启动python2.7(安装并正常工作),并让它读取uwsgi.iniactivate {{1} 1}},并启动我的virtualenv - 项目。 django上还安装了uwsgi

所有其他内容(用户,群组和权限)和工作。

失败:从 virtualenv激活:

开始
virtualenv

成功:激活$> uwsgi --ini uwsgi.ini [uWSGI] getting INI configuration from uwsgi.ini *** Starting uWSGI 2.0.9 (64bit) on [Fri Feb 13 14:48:03 2015] *** compiled with version: 4.8.2 on 20 January 2015 14:01:30 os: Linux-3.13.0-43-generic #72-Ubuntu SMP Mon Dec 8 19:35:06 UTC 2014 nodename: intergate.io machine: x86_64 clock source: unix pcre jit disabled detected number of CPU cores: 1 current working directory: /www/django/intergate_io writing pidfile to /www/django/intergate_io/run/project-master.pid detected binary path: /usr/local/bin/uwsgi chdir() to /www/django/intergate_io your processes number limit is 3750 your memory page size is 4096 bytes detected max file descriptor number: 1024 lock engine: pthread robust mutexes thunder lock: enabled uwsgi socket 0 bound to UNIX address /www/django/intergate_io/run/socket.sock fd 3 Python version: 2.7.6 (default, Mar 22 2014, 23:03:41) [GCC 4.8.2] Set PythonHome to /opt/vEnvs3/django/ ImportError: No module named site ,然后开始:

virtualenv

1 个答案:

答案 0 :(得分:0)

在第一种情况下,您似乎正在启动某种全局(可能是一个安装了sudo pip)uwsgi,如输出所示:

detected binary path: /usr/local/bin/uwsgi

可能缺少python3插件来正确切换环境,一般来说我发现从virtualenv使用uwsgi总是更简单 - 它只是更常用。真的,不要在尝试制作全系统的工作,而是使用自己的工作。您需要在一个更多的配置中添加完整路径,但这几乎不是问题。只需启动/path/to/your/venv/bin/uwsgi,而不只是uwsgi