2012-07-10 47 views
1

我有2个版本安装在我的服务器。我使用virtualenv来安装Python 2.7。如何更改我的Django项目正在使用的Python?

我正在使用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。我错在哪里?

UPDATE:这是我的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.6 c11-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'。 [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/开发平台,将linux2:/usr/lib64/python2.6/lib-tk:/usr/lib64/python2.6/lib-old:/usr/lib64/python2.6/lib-dynload”。

+0

什么调试窗口?你在使用IDE吗?如果是这样,你需要告诉我们哪一个。 – 2012-07-10 15:06:49

+0

请发布您的'wsgi.py'。我发布了 – Jens 2012-07-10 15:11:54

+0

。任何想法? – Burak 2012-07-10 17:40:31

回答

1

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

2

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

如果是这样的情况下,签出modwsgi的文档: http://code.google.com/p/modwsgi/wiki/VirtualEnvironments

我想尝试TLDR它适合你,但它很好地在该链接写,我也无法做到公正。

0

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

+0

不,我不使用它。 – Burak 2012-07-10 21:15:30

+0

你可以做什么构建 - 只要把你想使用的python放在你的WSGI脚本的顶部。像这样: #!/ somepath/python/bin/python2.7 – Erik 2012-07-10 21:24:00

+0

我放了,什么也没有发生。 – Burak 2012-07-10 21:38:28

相关问题