Python не может скомпилировать модуль _curses в Debian Lenny

StackOverflow https://stackoverflow.com/questions/3478041

  •  28-09-2019
  •  | 
  •  

Вопрос

Моя установка 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 является недокументированным.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top