uwsgi - 不使用virtualenv中的python2.7.3,而是使用2.6来自venv,即使2.6仅在全局安装

use*_*962 6 python django uwsgi

我的系统(ubuntu)有python 2.6.5版本(全局安装在/ usr/bin /中).
我想使用python 2.7.3.
为此,我尝试使用此答案创建virtualenv 是否可以在Virtualenv中安装另一个版本的Python?(没有做任何与答案相关的事情).我成功了,当我激活env并使用'python manage.py shell'时,它运行得很好.

问题是:我们使用uwsgi来运行服务器.直到现在,我们直接使用系统范围的python(2.6.5).因为我已经在virtualenv中新安装了所有内容,所以我添加了选项

'-H /path/to/virtualenv' 
Run Code Online (Sandbox Code Playgroud)

在运行uwsgi服务器的同时.

我在执行"import os"行时遇到错误"没有名为'os'的模块".(从错误日志中发现错误)

所以,我添加了import sys; 命令'import os'之前的print sys.path命令.然后,当它打印路径时,它有类似于:

 /home/name/venv/bin/python/lib/python2.6/  #(one of the items in the array sys.path)
Run Code Online (Sandbox Code Playgroud)

但是,当我查看我的venv文件夹时,'lib'文件夹中没有类似python2.6的内容.,我的venv的lib文件夹只包含'python2.7'.

我的要求是,uwsgi应该使用python 2.7(venv),而不是2.6(全局).

另外,在我的sh文件中,我使用了命令'which python',它告诉我它正在使用全局版本.所以,我必须首先告诉shell文件使用virtualenv中的python,而不是默认的全局.我试过'source/path/to/activate'但是找不到命令.

jpi*_*pic 9

  1. 激活virtualenv,
  2. 安装uwsgi:pip install uwsgi
  3. 从virtualenv 运行uwsgi.