Chr*_*rry 8 debian gcc mod-wsgi compilation python-2.7
我正在使用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
Run Code Online (Sandbox Code Playgroud)
然后检查交互式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)
Run Code Online (Sandbox Code Playgroud)
如何阻止它使用系统库而是使用本地编译的版本?
我知道,恢复使用系统安装的Python版本对我来说要容易得多,现实世界的差异是零.但这种行为似乎很奇怪.
Gra*_*ton 14
当你做Python的make时,运行它:
LD_RUN_PATH=/usr/local/lib make
Run Code Online (Sandbox Code Playgroud)
设置环境变量LD_RUN_PATH会强制生成'python'可执行文件,以便在/ usr/lib之前查找/ usr/local/lib以获取Python共享库.
这在mod_wsgi文档中提到.
在再次执行此操作之前,请确保执行'make distclean'并重新运行configure以确保您没有旧的构建产品.
| 归档时间: |
|
| 查看次数: |
3458 次 |
| 最近记录: |