web-dev-qa-db-ja.com

mod_wsgiとpython)の複数のインストール

これは this の質問の続きのようなものですが、逸脱しているので、新しい質問を始めました。 OSXのデフォルトの2.6の代わりにPython 2.5を使用したいと思います。これをターミナルなどに設定しましたが、Apacheを実行すると、次のエラー出力が表示されます。

[Thu Jun 23 00:01:42 2011] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Thu Jun 23 00:01:42 2011] [warn] mod_wsgi: Compiled for Python/2.5.4.
[Thu Jun 23 00:01:42 2011] [warn] mod_wsgi: Runtime using Python/2.6.1.
[Thu Jun 23 00:01:42 2011] [notice] Digest: generating secret for digest authentication ...
[Thu Jun 23 00:01:42 2011] [notice] Digest: done
[Thu Jun 23 00:01:42 2011] [notice] Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8l DAV/2 mod_wsgi/3.3 Python/2.6.1 configured -- resuming normal operations

Sys.pathがpython Shell:

WSGIPythonPath /System/Library/Frameworks/Python.framework/Versions/2.5

まだ運がない。アイデア?

17
Brian D

使用するmod_wsgiのバージョンに応じて、次のディレクティブを使用する必要があります

Mod_wsgi 1.xの場合:

WSGIPythonExecutable /path/to/python/2.5/exe

Mod_wsgi 2.xの場合:

WSGIPythonHome /path/to/python/2.5/exe/directory

WSGIPythonPathは、WSGIコンテキストのPythonパスに独自のライブラリを追加することを目的としています。

ドキュメントへのリンク: http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIPythonExecutable

11
Kaltezar
[Thu Jun 23 00:01:42 2011] [warn] mod_wsgi: Compiled for Python/2.5.4.
[Thu Jun 23 00:01:42 2011] [warn] mod_wsgi: Runtime using Python/2.6.1.

これらの2行は、mod_wsgiが間違ったPythonバージョン用にコンパイルされたため、正しい--with-pythonディレクティブを使用して再コンパイルする必要があることを示しています。 http:// code .google.com/p/modwsgi/wiki/QuickInstallationGuide#Configure_The_Source_Code

4
xyz-123

CentOS6.7で同様の問題を解決した方法は次のとおりです。デフォルトはPython 2.6であったため、PythonWebサイトをサポートするにはDjango2.7をインストールする必要がありました。

最初にPython2.7をyumとともにインストールしました。

yum install python27 python27-python-devel python27-MySQL-python

Python2.7のインストールパスは/opt/rh/python27/root/usr/bin/pythonです。

次に、mod_wsgiを新しいパスで再コンパイルする必要があります。コマンドは次のとおりです。

wget https://github.com/GrahamDumpleton/mod_wsgi/archive/4.4.21.tar.gz
tar -xzf 4.4.21.tar.gz
cd mod_wsgi-4.4.21
./configure --with-python=/opt/rh/python27/root/usr/bin/python LDFLAGS="-R/opt/rh/python27/root/usr/lib64"
make  && make install
service httpd restart
tail /var/log/httpd/error_log

ここで重要な点は、mod_wsgiがPython2.7インストールのlibpython2.7.soの下にある/opt/rh/python27/root/usr/lib64を見つける必要があるということです。

インストールでのもう1つの重要な注意点は、python27-MySQL-pythonyumと一緒にインストールする必要があることです。そうしないと、以下のようにpipを使用してインストールするとエラーが発生します。

pip install MySQL-python 
3
hailong