【问题标题】:How to compile mod_wsgi 4.5.3 with Python3.5.2 under centos7, Apache/2.4.6centos7、Apache/2.4.6下如何用Python3.5.2编译mod_wsgi 4.5.3
【发布时间】:2016-07-07 22:29:20
【问题描述】:

我为 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 中加载。

谢谢。

【问题讨论】:

  • AH00163: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips PHP/7.0.7 mod_wsgi/4.5.3 Python/2.7.5已配置——恢复正常运行——是从 httpd 登录。 ****我想要的是 mod_wsgi/4.5.3 Python/3.5.2 已配置****在 ~/bashrc 中将 python 别名为 python3.5 没有帮助

标签: python mod-wsgi wsgi python-3.5


【解决方案1】:

这是我用于 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

根据信息,我看不出您的问题有明显问题,但我认为一个完整的工作示例会有所帮助。

【讨论】:

  • 感谢您提供最全面的详细信息!这是我挣扎的地方:我不知道简单地安装最新的 python 不会应用 --enable-shared 。因为我在没有 --enable-shared 的情况下安装了它,而且它也安装到了 /usr/local...我在安装 mod_wsgi 时遇到了问题...使用正确版本的 Python。我也不知道 ./configure --with-python= python_bin_path.
  • 为了明确问题,configure 的 mod_wsgi 的 --with-python 选项应该是 python 二进制文件的完整路径,而不是 bin 目录包含它与最初使用的一样。
  • 感谢您的澄清。
  • 非常感谢@FlipperPA,您的转储为我节省了很多时间,让我对此有更好的理解。
猜你喜欢
  • 2013-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-03
  • 2011-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多