Отсутствуют файлы заголовков python в Buffalo TeraStation NAS

Недавно я получил TeraStation NAS и работал с ним. Удалось получить root-доступ и установить несколько простых программ, однако некоторые программы требуют зависимостей, которые мне не удалось выполнить. Я пробовал и Sickbeard, и SABnzbd, и оба потерпели неудачу, потому что им нужен Cheetah.

root@TS-6VHL856:# python SABnzbd.py

Требуется модуль Python Cheetah

Следовательно, установка Cheetah также не удалась из-за отсутствующих заголовков:

root@TS-6VHL856:/home/Downloads/libs/Cheetah-2.4.4# установка python setup.py

Не используя setuptools, поэтому мы не можем установить зависимость Markdown

работающая установка

ошибка: неверная установка Python: невозможно открыть /usr/include/python2.6/pyconfig.h (нет такого файла или каталога)

Стоит отметить, что это очень простая система без менеджера пакетов. (Насколько я знаю)

Вот некоторая общая информация, которую я получаю из командной строки:

root@NAS:/# uname -a
Linux NAS 2.6.31.8-atom_d510 #1 SMP Mon Apr 4 13:12:12 JST 2011 x86_64 unknown

root@NAS:/# cat /proc/cpuinfo 
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model   : 28
model name  : Intel(R) Atom(TM) CPU D510   @ 1.66GHz
stepping    : 10
cpu MHz     : 1662.521
cache size  : 512 KB

Как я могу исправить или обойти это препятствие?


person Gustavo Hoirisch    schedule 07.01.2014    source источник


Ответы (1)


Cheetah компилирует расширения C, и для этого ему нужны заголовочные файлы Python. Их можно получить, выпустив sudo apt-get install python-dev или sudo yum install python-devel в дистрибутивах на основе Debian и RedHat. Но вы упомянули, что ваш конкретный дистрибутив не имеет инфраструктуры упаковки. В таком случае вы можете попробовать собрать Python из исходников и переустановить его. Сборка из исходного кода даст вам все необходимое для создания расширений Python C для любого другого пакета, который вы захотите установить. Если это невозможно, например если на вашем NAS нет gcc, то можно попробовать поставить заголовочные файлы, скопировав их из Include каталога исходников python в папку с include-файлами на NAS, как правило это /usr/include/pythonX.X. Также вы можете собрать Cheetah на другой машине с той же версией Python и архитектурой, используя python setup.py build, а затем скопировать исходники Cheetah вместе с каталогом build на свой NAS и выпустить python setup.py install там.

person Mr. Deathless    schedule 07.01.2014
comment
Но он сказал: «Стоит отметить, что это очень простая система без менеджера пакетов (AFAIK). - person maurelio79; 07.01.2014
comment
@ maurelio79 спасибо за напоминание. Я обновил ответ другими вариантами. - person Mr. Deathless; 07.01.2014
comment
Это кажутся хорошими идеями, я дам им шанс и отчитаюсь. Быстрый вопрос, как вы думаете, я мог бы получить файлы заголовков с виртуальной машины? Я установил Ubuntu на виртуальную машину Parallels на компьютере с чипом Intel x86_64. - person Gustavo Hoirisch; 08.01.2014
comment
@GustavoHoirisch Вы могли бы попробовать, если бы в Ubuntu была такая же основная версия Python. Но все поддерживаемые в настоящее время версии, кроме 10.04 LTS, имеют Python 2.7, и, судя по сообщению об ошибке, вы получаете, что ваш NAS имеет Python 2.6. Вы можете получить исходники 2.6 отсюда python.org/ftp /python/2.6.9/Python-2.6.9.tgz. Затем просто распакуйте и скопируйте файлы из каталога Include. - person Mr. Deathless; 08.01.2014
comment
Круто, я скачал python для правильной версии на моей машине (2.6.2) и скопировал pyconfig.h из папки /PC/ в соответствующую папку include и попробовал еще раз, он скомпилировался! SABnzbd, похоже, запускается из командной строки, хотя в нем отсутствуют несколько модулей - unrar, par2, _yenc ... - и я еще не смог получить доступ к веб-интерфейсу, но командная строка говорит, что это работает! Любые идеи, как я могу получить gcc для этой машины? - person Gustavo Hoirisch; 08.01.2014
comment
@GustavoHoirisch установка gcc не является тривиальной операцией и может быть громоздкой. Я бы посоветовал вам рассмотреть возможность установки какой-либо разновидности основного дистрибутива со встроенными приложениями NAS, например. openmediavault.org или на основе FreeBSD freenas.org - person Mr. Deathless; 09.01.2014