Установка Питона на Заурусе

Питон на Заурусе

Питон — замечательное средство для создания приложений для Зауруса. При помощи PyQt, библиотеки-”обертки” вокруг Кутопии возможна быстрая разработка нативных графических приложений. Благодаря отсутствию фазы компиляции программ на Питоне, вы можете вести разработку на Windows, Linux-машинах, или на Маках без раздражающей необходимости устанавливать и поддерживать инструменты кросс-компиляции. Вы можете даже разрабатывать приложения на Заурусе!

Отрицательной стороной использования Питона на Заурусе является то, что Питон большой! Относительно полный дистрибутив занимает более 30М. Можно разделить его на различные пакеты и устанавливать только минимальный набор тех из них, которые нужны вашим приложениям (как это сделано в замечательном дистрибутиве Python for arm-linux). Однако, разработчики, работающие на Питоне не привыкли ограничивать себя небольшим набором функций, так что чтобы запустить большое интерактивное приложение на Питоне, вам может понадобиться большинство пакетов. Другая проблема с Python for arm-linux в том, что пакеты, совместимые с Sharp ROM, несколько не полны и устарели.

Еще хуже то, что на Sharp ROM и совместимых с ней прошивках вы должны устанавливать пакеты Питона во внутреннюю память или на карточку, отформатированную в ext2/ext3, чтобы все работало правильно. Жертва в 30М внутренней памяти — серьезно для владельцев SL-C7X0/SL-C860/SL-6000, и практически невозможна для остальных моделей с меньшим объемом памяти. А переформатирование карты памяти в ext2/ext3 делает невозможным ее использование на многих других устройствах.

Чтобы решить эту проблему, разработчиками был создан сжатый “образ” относительно полного дистрибутива Питона для Зауруса, который вы можете использовать прямо с карты, отформатированной в FAT (SD или CF)! При помощи магии loop-устройств Линукса, вы можете заставить Заурус думать, что все установлено во внутреннюю память. И хотя “образ” сам по себе содержит полную файловую систему exе2, вы можете использовать его на SD или CF-карте, отформатированной в FAT16 или FAT32. Полное дерево каталогов библиотеки Питона представлено всего лишь в виде одного (большого) файла на вашей карточке памяти.

Установка

Вам нужно скачать два пакета с этой страницы: один из предлагаемых образов Python Zaurus Image и Python Zaurus IPK. Когда у вас будут оба пакета, следуйте следующим инструкциям:

  1. Установите python24.img или python24.ex2.
  2. Если вы используете python24.img вы должны положить его в коревой каталон SD-карты или в “Main_Memory” (/home/zaurus/Documents). Обратите внимание, что этот файл занимает 9M. Файл не может быть установлен на CF-карту или жесткий диск!
  3. Если вы решили поставить python24.ex2.gz, сперва вы должны распаковать его в python24.ex2, а затем скопировать распакованный файл в один из следующих каталогов (обратите внимание, что данный файл имеет размер 48M):
    1. корневой каталог CF или SD-карты
    2. “Main_Memory” (/home/zaurus/Documents)
    3. корневой каталог одного из дисковых разделов на Zaurus SL-3000
  4. Скопируйте файл python-exe_2.4.0-1_arm.ipk в любое место на Заурусе, где он может быть найден программой Add/Remove Software (CF или SD-карты, /home/zaurus/Documents во внутренней памяти).
  5. Запустите утилиту Add/Remove Software и установите python-exe во внутреннюю память. Не волнуйтесь, это не полный дистрибутив, всего лишь 1.2M: исполняемый код и несколько скриптов. Вы должны установить пакет python-exe во *внутреннюю память** — иначе он не будет работать!*
  6. Когда установка завершится, закройте программу и перегрузите Заурус.
  7. Если не хотите перегружать машинку, откройте консоль, станьте суперпользователем (su) и выполните следующую команду: /etc/rc.d/init.d/mntpython start
  8. Проверьте работоспособность установленного Питона.
  9. Введите команду python в консоли, вы должны увидеть приглашение интерпретатора Питона.
  10. Введите команду print "hello, world!" Вы должны увидеть напечатанный текст “hello, world!”.
  11. Нажмите Ctrl-D (или Fn-Shift-D на некоторых моделях) для выхода из интерпретатора.