2012-07-10 45 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

相關問題