Python не может скомпилировать модуль _curses в Debian Lenny - PullRequest
3 голосов
/ 13 августа 2010

Моя установка Python (2.6) на нескольких серверах была скомпилирована без поддержки curses, которая мне сейчас нужна, хотя на серверах установлена ​​libncurses5, Python не компилировал привязки для нее, поэтому, когда я «импортирую curses», я получаю: 1001 *

"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 / has:

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 

Что мне нужно сделать, чтобы перекомпилировать Python с поддержкой curses? Что мне здесь не хватает?

Спасибо!

Ответы [ 3 ]

4 голосов
/ 22 апреля 2012

Да, все верно. Установка libncurses5-dev и запуск 'make' и 'make install' на установке python сделали свое дело. Сначала я столкнулся с ошибкой _curses при попытке установить и запустить bpython в моей пользовательской установке python.

2 голосов
/ 13 августа 2010

Я не уверен, какое из этих действий решило мою проблему, но одно из них сделало.Я установил libncurses5-dev и libreadline5-dev, перекомпилировал python и переустановил (make / make install).Возгласы ликования

1 голос
/ 30 декабря 2013

Кстати, в CentOS 6.4 64-bit вам нужны все эти библиотеки разработки для компиляции 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

Чтобы найти необходимые биты, посмотрите в файле setup.py в detect_modules () имя модуля.

Они устарели, согласно этому сообщению в блоге :

sunaudiodev - для платформ Sun, dl для 32-битных платформ, imageop устарело и bsddb185 недокументировано.

...