Python не может скомпилировать модуль _curses в Debian Lenny
Вопрос
Моя установка Python (2.6) на нескольких серверах была скомпилирована без поддержки проклятий, которая мне сейчас нужна, хотя на серверах установлена библиотека libncurses5, Python не скомпилировал для нее привязки, поэтому, когда я «импортирую проклятия», я получаю:
"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
Когда я снова пытаюсь «создать» 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 с поддержкой проклятий?Что мне здесь не хватает?
Спасибо!
Решение 2
Я не уверен, какое из этих действий решило мою проблему, но одно из них помогло.Я установил libncurses5-dev и libreadline5-dev, перекомпилировал python и переустановил (make/make install).Хузза
Другие советы
Да все верно.Установка libncurses5-dev
и бег 'make'
и 'make install'
на python
установка сделала свое дело.Я столкнулся с ошибкой с _curses
сначала при попытке установить и запустить bpython
в моей пользовательской установке Python.
Кстати, в 64-разрядной версии CentOS 6.4 вам понадобятся все эти библиотеки разработки для компиляции 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
является недокументированным.