如何更改Django项目使用的Python?

如何更改Django项目使用的Python?,python,django,mod-wsgi,Python,Django,Mod Wsgi,我的服务器上安装了两个版本。我使用virtualenv安装了Python 2.7 我正在使用WSGI部署我的项目 WSGIPythonPath /home/ENV/lib/python2.7/site-packages WSGIScriptAlias / /var/www/html/my_project/wsgi.py 我的http.conf就是这样 python-V给出了 Python 2.7.3 但在我的项目调试窗口中,它说Django正在使用2.6.8。我错在哪里 更新:这是我的wsgi

我的服务器上安装了两个版本。我使用virtualenv安装了Python 2.7

我正在使用WSGI部署我的项目

WSGIPythonPath /home/ENV/lib/python2.7/site-packages
WSGIScriptAlias / /var/www/html/my_project/wsgi.py
我的http.conf就是这样

python-V给出了

Python 2.7.3

但在我的项目调试窗口中,它说Django正在使用2.6.8。我错在哪里

更新:这是我的wsgi文件

import os
import sys
sys.path.append('/var/www/html')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Python版本:2.6.8 Python路径:
['/home/ENV/lib/python2.7/site packages/setuptools-0.6c11-py2.7.egg', “/home/ENV/lib/python2.7/site packages/pip-1.1-py2.7.egg”, “/home/ENV/lib/python2.7/site packages/Django-1.4-py2.7.egg”, “/home/ENV/lib/python2.7/site packages”, “/usr/lib/python2.6/site packages/pip-1.1-py2.6.egg”, “/usr/lib/python2.6/site packages/django_transmeta-0.6.7-py2.6.egg”, “/usr/lib/python2.6/site packages/ipython-0.13-py2.6.egg”, “/usr/lib/python2.6/site packages/virtualenv-1.7.2-py2.6.egg”, “/usr/lib64/python26.zip”, “/usr/lib64/python2.6”, “/usr/lib64/python2.6/plat-linux2”, “/usr/lib64/python2.6/lib-tk”, “/usr/lib64/python2.6/lib old”, “/usr/lib64/python2.6/lib dynload”, “/usr/lib64/python2.6/site packages”, “/usr/lib64/python2.6/site packages/gtk-2.0”, “/usr/lib/python2.6/site packages”, “/usr/lib/python2.6/site packages/setuptools-0.6c11-py2.6.egg info”, “/var/www/html”]

在我的httpd错误日志中:

[Tue Jul 10 20:51:29 2012][error]python_init:python版本不匹配,预期为“2.6.7”,发现为“2.6.8”。 [Tue Jul 10 20:51:29 2012][error]python_init:python可执行文件找到“/usr/bin/python”。
[Tue Jul 10 20:51:29 2012][error]python_init:python path正在使用“/usr/lib64/python26.zip:/usr/lib64/python2.6/:/usr/lib64/python2.6/plat-linux2:/usr/lib64/python2.6/lib-old:/usr/lib64/python2.6/lib-dynload”。

如果我正确理解这个问题,您正在尝试将应用程序的wsgi脚本配置为使用特定的virtualenv

如果是这种情况,请查看modwsgi的文档:


我会尝试为您TLDR它,但它在该链接上写得非常好,我无法做到公正。

如果您使用,您可以控制在配置文件中直接使用哪个版本的python。

必须为您要使用的特定python主/次版本编译mod_wsgi模块。您不能使用WSGIPythonHome强制针对Python 2.6编译的mod_wsgi使用使用Python 2.7构建的Python虚拟环境。

什么调试窗口?您正在使用IDE吗?如果是这样,您需要告诉我们是哪一个。您可以做Buildout所做的事情——只需将您想要使用的python放在WSGI脚本的顶部。像这样:#/somepath/python/bin/python2.7是否重新启动了web服务器?对不起,我想我帮不了你。