我正在使用 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
然后检查交互式外壳@
/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 的 make 时,运行它:
LD_RUN_PATH=/usr/local/lib make
设置环境变量 LD_RUN_PATH 会强制生成的“python”可执行文件在 /usr/lib 之前先在 /usr/local/lib 中查找 Python 共享库。
mod_wsgi 文档中提到了这一点。
- http://code.google.com/p/modwsgi/wiki/CheckingYourInstallation#Python_Shared_Library
在再次执行此操作之前,请确保执行“make distclean”并重新运行配置以确保您没有旧的构建产品。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)