2010-08-13 3 views
2

Установка My Python (2.6) на нескольких серверах была скомпилирована без поддержки curses, которая мне теперь нужна, хотя на серверах установлена ​​libncurses5, Python не собирал для нее привязки, поэтому когда я "импорт проклинает" я получаю:Python не может скомпилировать модуль _curses на Debian Lenny

"ImportError: No module named _curses" 

мой/Библиотека/реж имеет следующие файлы и символические ссылки:

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 

Когда я пытаюсь 'сделать' снова питон, я вернусь в конце следующее предупреждение:

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? Что мне здесь не хватает?

Спасибо!

ответ

1

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

4

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

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

Чтобы найти нужные биты, зайдите в setup.py в detect_modules() для имени модуля.

Они устарели, по this blog post:

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

Смежные вопросы