我经历了几个关于 Python 和 bzip2 的 StackOverflow 问题。这些对于让我达到我现在清楚的状态非常有帮助。这是我到目前为止所做的以及我遇到的问题:
- 我没有root 访问权限,无法安装 libbz2-dev(el)
- /usr/bin/bzip2 是版本 1.0.3
- /usr/bin/python 是 2.4.3 版本
- GNU Stow被用于管理类似于 homebrew 工作方式的库
我需要 Python 2.7.3 与 bzip2 模块一起安装,以便从源代码正确编译 node.js。是的,我很抱歉,但我确实必须从源头作为普通用户完成所有这些工作。
我已经从源代码安装了 bzip2,如下所示:
$ make -f Makefile-libbz2_so
$ make
$ make install PREFIX=${STOW}/bzip2-1.0.6
$ cp libbz2.so.1.0.6 ${STOW}/bzip2-1.0.6/lib/
$ cd ${STOW}/bzip2-1.0.6/lib
$ ln -s libbz2.so.1.0.6 libbz2.so.1.0
$ cd ${STOW}
$ stow bzip2-1.0.6
我先在我的 PATH 中存放了根目录,所以这导致:
$ bzip2 -V
# [...] Version 1.0.6
这表明在我的 PATH 中使用了正确的 bzip2。
接下来,我继续从源代码编译 Python 并运行以下命令:
$ cd Python-2.7.3
$ ./configure --prefix=${STOW}/Python-2.7.3
$ make
# Complains about several missing modules, of which "bz2" is the one I care about
$ make install prefix=${STOW}/Python-2.7.3 # unimportant as bz2 module failed to install
在源代码配置期间告诉 Python 安装 bzip 1.0.6 库的源代码所在的正确方法是什么,以便它能够检测到 bzip2 开发头文件并正确安装模块?