0

ApacheがどのバージョンのPythonを実行する必要があるかを理解する方法を最終的に理解できません。

virtualenv では python3.2 のみをインストールし、そのようなコードを wsgi ラッパーに配置します。

# -*- coding: utf-8 -*-
#!/virtualenvs/simpleboard/bin/python

import os, sys, site

my_virtualenv_path = "/virtualenvs/simpleboard/lib/python3.2/site-packages/"
# Add it to your PYTHONPATH


sys.path.insert(0, my_virtualenv_path)
site.addsitedir(my_virtualenv_path)

sys.path.insert(0, os.path.dirname(__file__))
sys.path.insert(0, '/www/django/simpleboard/simpleboard')
sys.path.insert(0, '/www/django/simpleboard')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "simpleboard.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

最後に、このタグをクラス コードの先頭に追加しますが、Apache は引き続き 2.7 を実行します

Exception Location:     /www/django/simpleboard/account/views.py in rescale, line 386
Python Executable:  /usr/bin/python
Python Version:     2.7.3
Python Path:    
['../..',
 '/www/django/simpleboard',
 '/www/django/simpleboard/simpleboard',
 '/www/django/simpleboard/simpleboard',
 '/virtualenvs/simpleboard/lib/python3.2/site-packages/',
 '/usr/local/lib/python2.7/dist-packages',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-linux2',
 '/usr/lib/python2.7/lib-tk',
 '/usr/lib/python2.7/lib-old',
 '/usr/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages']

Server time:    Wed, 11 Sep 2013 19:43:21 +0400

ご覧のとおり、2.7 バージョンとトレースバック エラーが実行されます。

4

1 に答える 1

1

uwsgi の virtualenv サポートを使用できます ( http://projects.unbit.it/uwsgi/wiki/VirtualEnv )。uwsgi init スクリプトの uwsgi コマンドに「H /virtualenvs/simpleboard」を追加します。

于 2013-09-11T17:07:38.943 に答える