2

サーバーに 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 が与える

パイソン 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.6 c11-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] [エラー] 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'.

4

3 に答える 3

3

私が質問を正しく理解していれば、特定の virtualenv を使用するようにアプリケーションの wsgi スクリプトを構成しようとしています。

その場合は、modwsgi のドキュメントをチェックしてください: http://code.google.com/p/modwsgi/wiki/VirtualEnvironments

私はあなたのためにそれをTLDRしようとしますが、そのリンクで非常によく書かれており、私はそれを正当化することはできません.

于 2012-07-10T15:11:50.860 に答える
1

mod_wsgi モジュールは、使用する特定の Python メジャー/マイナー バージョン用にコンパイルする必要があります。WSGIPythonHome を使用して、Python 2.6 に対してコンパイルされた mod_wsgi に、Python 2.7 を使用して構築された Python 仮想環境を使用させることはできません。

于 2012-07-11T01:14:31.023 に答える
0

Buildoutを使用すると、構成ファイルで直接使用されている Python のバージョンを制御できます。

于 2012-07-10T21:13:18.113 に答える