在Debian 4.3.2中安装Python 2.6.5时无法构建readline

3 投票
1 回答
3303 浏览
提问于 2025-04-16 00:43

我正在尝试在运行Debian 4.3.2.1-1的网络服务器上安装Python 2.6.5。我解压了压缩包,运行了"./configure --prefix /usr/",然后执行了"make"。我看到了一条消息。

Failed to find the necessary bits to build these modules:
_bsddb             _hashlib           _ssl            
_tkinter           bsddb185           bz2             
dl                 imageop            readline        
sunaudiodev                                           
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

我觉得这没什么大不了的,于是继续进行安装,我想接下来就是以root身份运行"make install"。

我尝试运行新版本的Python,结果可以运行,但有些地方表现得很奇怪。在交互式提示符下,常用的快捷键都不管用了。我尝试导入readline,但解释器找不到它。有没有办法让它工作?我试着查看setup.py,就像"make"告诉我的那样,但我找不到任何对我有用的线索。我真的很想让readline正常工作,其他模块我倒是没那么在意。

编辑:这是在DreamHost的私人服务器上。他们有一些带有readline的旧版本Python,似乎运行得很好。我想让这个新版本也能正常工作。

我想补充一下,我对Linux还不太熟悉,不太懂得如何安装软件包,也不太会用RPM或apt-get。

1 个回答

7

你可能需要安装一个叫做 libreadline-dev 的虚拟软件包,这个是为了在 Debian 4(也叫 etch)上能够支持 libreadline 来编译 Python。你可以在这里查看 Debian 的 python2.6 源代码包的依赖关系 这里。虽然这个链接是针对更新版本的 Debian,所以在 etch 上可能找不到完全相同的版本,但你应该能找到一些最接近的版本,这样就能编译大部分其他缺失的模块。或者,你可以尝试安装当前测试版的 python2.6(叫 squeeze),看看它需要哪些依赖项,看看你是否愿意在你的系统上升级这些依赖。

撰写回答