我正在使用Debian(随Python-2.7.3一起提供),尝试从源代码编译Python-2.7.6,以便与Apache一起使用mod_wsgi。
根据众多答案,显然你在编译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版本要容易得多,并且现实世界的差异为零。但这种行为似乎很奇怪。
答案 0 :(得分:13)
当您执行Python的make时,请将其运行为:
LD_RUN_PATH=/usr/local/lib make
设置环境变量LD_RUN_PATH强制生成'python'可执行文件,以便在/ usr / lib之前查看/ usr / local / lib中的Python共享库。
mod_wsgi文档中提到了这一点。
在再次执行此操作之前,请确保执行'make distclean'并重新运行configure以确保您没有旧的构建产品。