gpt4 book ai didi

python-2.7 - 带有 "--enable-shared"标志的奇怪 Python 编译结果

转载 作者:行者123 更新时间:2023-12-04 05:50:49 30 4
gpt4 key购买 nike

我正在使用 Debian(随 Python-2.7.3 一起提供),尝试从源代码编译 Python-2.7.6,以便与 mod_wsgi 和 Apache 一起使用。

根据众多答案,显然您在编译 mod_wsgi 用法时必须使用 --enable-shared 。

遵循以下步骤:

./configure --enable-shared --prefix=/usr/local/bin/python-2.7.6
make
make install

然后检查交互式shell@

/usr/local/bin/python-2.7.6/bin/python

我受到“Python 2.7.3(默认,2013 年 1 月 2 日,14:09:21)”等的欢迎

为什么会导致 Python 2.7.3?

我针对可执行文件尝试了 ldd ,结果如下:
linux-vdso.so.1 =>  (0x00007fff271ff000)
libpython2.7.so.1.0 => /usr/lib/libpython2.7.so.1.0 (0x00007f1545638000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f154541c000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f1545217000)
libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f1545014000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f1544d92000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1544a06000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f15447ef000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f15445d9000)
/lib64/ld-linux-x86-64.so.2 (0x00007f1545b40000)

如何阻止它使用系统库并使用本地编译版本?

我知道对我来说,恢复使用系统安装的 Python 版本要容易得多,而且现实世界的差异为零。但这种行为似乎很奇怪。

最佳答案

当你制作 Python 时,运行它:

LD_RUN_PATH=/usr/local/lib make

设置环境变量 LD_RUN_PATH 会强制生成的“python”可执行文件在/usr/local/lib 之前查找 Python 共享库的/usr/lib。

这在 mod_wsgi 文档中提到。
  • http://code.google.com/p/modwsgi/wiki/CheckingYourInstallation#Python_Shared_Library

  • 在再次执行此操作之前,请确保执行“make distclean”并重新运行 configure 以确保您没有旧的构建产品。

    关于python-2.7 - 带有 "--enable-shared"标志的奇怪 Python 编译结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22157184/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com