我的系统(ubuntu)有python 2.6.5版本(全局安装在/ usr / bin /中)。
我想使用python 2.7.3
为此,我尝试使用这个答案创建一个virtualenv Is it possible to install another version of Python to Virtualenv?(没有从答案中做任何simlinking)。我成功了,当我激活env并使用'python manage.py shell'时,它运行得很好。
问题是: 我们使用uwsgi来运行服务器。直到现在,我们直接使用系统范围的python(2.6.5)。由于我已经在virtualenv中新安装了所有内容,我添加了选项
'-H /path/to/virtualenv'
运行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)
但是,当我查看我的venv文件夹时,'lib'文件夹中没有类似python2.6的内容。 ,我的venv的lib文件夹只包含'python2.7'。
我的要求是,uwsgi应该使用python 2.7(of venv),而不是2.6(全局)。
另外,在我的sh文件中,我使用了命令'which python',它显示它正在使用全局版本。所以,我必须先告诉shell文件使用virtualenv中的python,而不是默认的全局。我试过'source / path / to / activate'但是找不到命令。
答案 0 :(得分:9)
pip install uwsgi