2016-07-07 22 views
2

I configure für mod_wsgi 4.5.3 wie unten versucht:Wie mod_wsgi 4.5.3 mit Python3.5.2 unter centos7 kompilieren, Apache/2.4.6

./configure --with-python =/opt/Python352/bin

Wo/opt/Python352 Ordner mit Python3.5.2 installiert ist.

In CentOS 7 baut "configure" jedoch immer den mod_wsgi mit binärem "python" (entsprechend python2.75) und nicht mit binärem "python3" oder "python3.5" auf.

Voraussetzung ist die .so-Datei, die neueste für mod_wsgi 4.5.3, kompiliert mit python3.5.2 und laden diese in Apache/2.4.6 unter CentOS 7.

Dank zu erhalten.

+0

AH00163: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips PHP/7.0.7 mod_wsgi/4.5.3 Python/2.7.5 konfiguriert - Normalbetrieb fortsetzen --Ist das Protokoll von httpd. **** was ich will ist mod_wsgi/4.5.3 Python/3.5.2 konfiguriert **** Aliasing Python zu python3.5 in der ~/bashrc hat nicht geholfen, wie bekannt – Vinodh

Antwort

5

Hier ist eine genaue Dump von dem, was ich für CentOS 7.2 verwende. Sie können sich wahrscheinlich ohne viel das Pre-reqs tun, aber ich dachte, ich sie gehören würde, da viele praktisch sind zu haben:

echo 'Python 3.5.2 is not installed, installing Python 3 pre-requisites...' 
yum -y groupinstall development 

echo 'Installing extra packages for Python...' 
yum -y install zlib-devel openssl-devel sqlite-devel bzip2-devel python-devel openssl-devel libffi-devel openssl-perl libjpeg-turbo-devel zlib-devel giflib ncurses-devel gdbm-devel xz-devel tkinter readline-devel tk tk-devel 

echo 'Installing Python 3.5.2...' 
wget -q 'https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz' 
tar -xzf 'Python-3.5.2.tgz' 
cd ./Python-3.5.2 
CXX=g++ ./configure --enable-shared 
make 

echo 'Moving to alternate location to keep system Python version intact...' 
make altinstall 
cd .. 
rm Python-3.5.2.tgz 
rm -rf ./Python-3.5.2 
ln -fs /usr/local/bin/python3.5 /usr/bin/python3.5 
echo "/usr/local/lib/python3.5" > /etc/ld.so.conf.d/python35.conf 
echo "/usr/local/lib" >> /etc/ld.so.conf.d/python35.conf 
ldconfig 

echo 'Now, install mod_wsgi...' 
wget -q "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=/usr/local/bin/python3.5 
make 
make install 

ich nicht ein offensichtliches Problem mit Ihrer Frage der Informationen gegeben sehen konnte, aber ein komplettes funktionierendes Beispiel würde helfen.

+1

Danke für die Hilfe mit den umfassendsten Details! Das, wo ich gekämpft habe: Ich wusste nicht einfach installieren neuesten Python wird nicht --enable-shared angewendet. Da ich ohne --enable-shared installiert habe und das auch in /usr/local...I hatte Probleme bei der Installation von mod_wsgi ... mit der richtigen Version von Python. Ich wusste auch nicht von ./configure --with-python = python_bin_path. – Vinodh

+2

Um das Problem zu verdeutlichen, sollte die ''with-python'' Option' 'configure'' für mod_wsgi der vollständige Pfad zur' 'python'' Binärdatei sein, nicht die' ' bin''-Verzeichnis, das es enthält, wie es ursprünglich verwendet wurde. –

+0

Danke für die Klarstellung. – Vinodh