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

时间:2010-08-13 14:52:45

标签: python curses

我在几台服务器上的Python(2.6)安装已经编译而没有我现在需要的curses支持,虽然服务器安装了libncurses5,Python没有为它编译绑定所以当我“导入curses”时,我得到:< / p>

"ImportError: No module named _curses"

my / lib / dir包含以下文件和符号链接:

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

当我再次尝试'制作'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 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

我不确定这些行动中的哪一个解决了我的问题,但其中一个已经解决了。我安装了libncurses5-dev和libreadline5-dev,重新编译了python并重新安装(make / make install)。 Huzza

答案 2 :(得分:1)

BTW,在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中查找模块的名称。

根据this blog post

,这些已经过时了
  

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