簡體   English   中英

如何更改我的Django項目使用的Python?

[英]How can I change the Python that my Django project is using?

我的服務器中安裝了2個版本。 我使用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

但在我的項目Debug窗口中,它表示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-package /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-package / 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-package','/ usr / lib / python2.6 / site-package / setupupols -0.6c11-py2.6.egg-info','/ var / www / html']

在我的httpd的error_log中:

[Tue Jul 10 20:51:29 2012] [錯誤] python_init:Python版本不匹配,預計'2.6.7',找到'2.6.8'。 [Tue Jul 10 20:51:29 2012] [錯誤] python_init:Python可執行文件找到'/ usr / bin / python'。 [Tue Jul 10 20:51:29 2012] [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”。

如果我正確理解了這個問題,那么您正在嘗試將應用程序的wsgi腳本配置為使用特定的virtualenv。

如果是這種情況,請查看modwsgi的文檔: http//code.google.com/p/modwsgi/wiki/VirtualEnvironments

我會嘗試為你做TLDR,但它在那個鏈接上寫得非常好,我無法做到公道。

必須針對要使用的特定Python主要/次要版本編譯mod_wsgi模塊。 您無法使用WSGIPythonHome強制針對Python 2.6編譯的mod_wsgi使用使用Python 2.7構建的Python虛擬環境。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM