如何在centos7,Apache / 2.4.6下使用Python3.5.2编译mod_wsgi 4.5.3


问题内容

我为mod_wsgi 4.5.3尝试了./configure,如下所示:

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

其中/ opt / Python352文件夹与python3.5.2一起安装。

但是,在CentOS 7中,“配置”始终使用二进制“ python”(对应于python2.75)而不是二进制“ python3”或“
python3.5”来构建mod_wsgi。

要求是获取.so文件,该文件是mod_wsgi 4.5.3的最新文件,使用python3.5.2编译,并在CentOS 7下的Apache /
2.4.6中加载。

谢谢。


问题答案:

这是我用于CentOS 7.2的确切转储。您可能不需要很多先决条件,但是我认为我会把它们包括在内,因为许多先决条件很方便:

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

鉴于提供的信息,我看不到您的问题有明显的问题,但认为完整的工作示例将有所帮助。