Python无法在Debian Lenny上编译_curses模块

4

我在几台服务器上安装的 Python (2.6) 没有编译 curses 支持,而我现在需要它。虽然这些服务器已经安装了 libncurses5,但 Python 没有为其编译绑定,因此当我“import curses”时会出现以下错误:

"ImportError: No module named _curses"

我的/lib/目录下有以下文件和符号链接:

lrwxrwxrwx 1 root root   17 2010-02-13 05:50 /lib/libncurses.so.5 -> libncurses.so.5.7
-rw-r--r-- 1 root root 251K 2008-12-14 22:31 /lib/libncurses.so.5.7
lrwxrwxrwx 1 root root   18 2010-02-13 05:50 /lib/libncursesw.so.5 -> libncursesw.so.5.7
-rw-r--r-- 1 root root 299K 2008-12-14 22:31 /lib/libncursesw.so.5.7

/lib64/目录下有:

lrwxrwxrwx 1 root root   20 2010-08-13 12:26 /lib64/libncurses.so -> /lib/libncurses.so.5
lrwxrwxrwx 1 root root   17 2010-02-13 05:50 /lib64/libncurses.so.5 -> libncurses.so.5.7
-rw-r--r-- 1 root root 251K 2008-12-14 22:31 /lib64/libncurses.so.5.7
lrwxrwxrwx 1 root root   18 2010-02-13 05:50 /lib64/libncursesw.so.5 -> libncursesw.so.5.7
-rw-r--r-- 1 root root 299K 2008-12-14 22:31 /lib64/libncursesw.so.5.7

/usr/lib64和/usr/lib都有:

lrwxrwxrwx 1 root root 20 2010-08-13 12:20 /usr/lib64/libncurses.so -> /lib/libncurses.so.5

当我尝试再次“make” Python时,最后会收到以下警告:
Failed to find the necessary bits to build these modules:
_curses_panel      _tkinter           bsddb185        
bz2                dl                 gdbm            
imageop            readline           sunaudiodev     
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

Failed to build these modules:
    _curses 

我需要如何重新编译支持curses的Python?我是否遗漏了什么?

谢谢!

3个回答

4

是的,没错。安装libncurses5-dev并在python安装目录下运行'make''make install'就可以解决问题了。我在尝试在自定义的python安装中安装和启动bpython时首先遇到了_curses错误。


2

我不确定这些操作中哪一个解决了我的问题,但其中一个起到了作用。我安装了libncurses5-dev和libreadline5-dev,重新编译了Python并进行了重新安装(make / make install)。


1

顺便提一下,在CentOS 6.4 64位系统上,编译Python 2.7.6需要安装所有这些开发库:

yum install -y zlib-devel openssl-devel sqlite-devel bzip2-devel \
               ncurses-devel readline-devel gdbm-devel db4-devel tk-devel

在运行yum install之后,运行make,剩下四个模块:

Python的构建已经完成,但是构建这些模块所需的必要部分未找到:

bsddb185 dl imageop sunaudiodev

要查找必要的部分,请在detect_modules()中查找模块名称的setup.py。

根据这篇博客文章,这些都已过时:

sunaudiodev适用于Sun平台,dl适用于32位平台,imageop已弃用,bsddb185未经记录。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接