我该如何更改我的Django项目正在使用的Python?

我有2个版本安装在我的服务器上。 我使用virtualenv来安装Python 2.7。

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

WSGIPythonPath /home/ENV/lib/python2.7/site-packages
WSGIScriptAlias / /var/www/html/my_project/wsgi.py

我的http.conf就是这样。

蟒蛇-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的error_log中:

[2012年7月10日20:51:29] [error] python_init:Python版本不匹配,预计'2.6.7',找到'2.6.8'。 [2012年7月10日20:51:29] [error] python_init:找到'/ usr / bin / python'的Python可执行文件。 [2012年7月10日20:51:29] [error] python_init:正在使用的Python路径'/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”。


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


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

如果是这种情况,请查看modwsgi的文档:http://code.google.com/p/modwsgi/wiki/VirtualEnvironments

我会尽力为你提供TLDR,但是它写得很好,我无法做到公平。


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

链接地址: http://www.djcxy.com/p/23343.html

上一篇: How can I change the Python that my Django project is using?

下一篇: Any idea why i am getting this error?