Browsing all articles from Июль, 2010
Июл
31

KNIME в Eclipse

Author osya    Category Без рубрики     Tags ,

KNIME удобнее использовать не как отдельное приложение, а как плагин в Eclipse. Для такой установка необходимо в Eclipse добавить репозитории KNIME Core и  KNIME Labs.  Затем выбрать пункт меню Help — Install new software и выбрать репозиторий KNIME. См. более подробную информацию на официальном сайте.

Июл
30

Установка emacs-w3m в EmacsW32 с использованием cygwin

Emacs может выступать в роли интернет-браузера. Для этого можно использовать мод emacs-w3m. Emacs-w3m представляет собой набор скриптов на ELisp. Emacs-w3m является интерфейсом между Emacs и консольным браузером w3m. Мод Emacs-w3m разрабатывается группой японских программистов.

Установка emacs-w3m

Рассмотрим процесс установки emacs-w3m в EmacsW32 на основе emacs 23 под ОС Windows XP SP3 с использованием cygwin.

Так как используется 23-я версия emacs необходимо использовать последнюю девелоперскую версию emacs-w3m из CVS (proof link). Для скачивания последних версий файлов из CVS никаких дополнительных программ устанавливать не нужно. Скачать можно через ViewCVS. Файлы emacs-w3m можно положить, например, в директорию C:\Documents and Settings\<username>\Application Data\.emacs.d\emacs-w3m или в C:\Program Files\Emacs\emacs\site-lisp\w3m.

Процесс настройки cygwin я рассмотрел тут. Согласно файлу README emacs-w3m необходимо скомпилировать. Для компиляции emacs-w3m и его использования необходим ряд консольных утилит, которые будем ставить в cygwin:

  • консольный браузер w3m.
  • autoconf — это утилита для формирования файла configure на основании файлов configure.in и aclocal.m4. Исходные файлы для autoconf написаны на макроязыке m4. Autoconf — это набор скриптов, использующих макропроцессор M4. Перед вызовом autoconf полезно выполнить команду autoupdate. Она заменяет в файле configure.in устаревшие макросы их новыми версиями. Скрипт Autom4te, входящий в пакет autoconf2.5-2.65-1.tar.bz2, написан на perl. Поэтому, потребуется установить еще и perl.
  • make — это утилита для компиляции и сборки файлов проекта. Входным файлом для утилиты make является файл Makefile. Файл Makefile формируется скриптом configure из файла Makefile.in.

Теперь необходимо скомпилировать emacs-w3m:

  1. В консоли cygwin перейдем в папку, со скриптами emacs-w3m. Файл configure отсутствует. Необходимо его сгенерировать. Для этого выполним команду autoconf.  Предварительно утилита autoconf и макропроцессор m4 должны быть установлены в cygwin. Файл /bin/autoconf — это символьная ссылка на скрипт /usr/share/autotools/ac-wrapper.sh. Скрипт ac-wrapper.sh является оберткой для утилит autotools (autoconf, autoheader,  autom4te, autoreconf, autoscan, autoupdate). Скрипт ac-wrapper.sh определяет какую версию исходного скрипта из директории /bin необходимо вызвать и вызывает его. Например,  у меня в директории /bin есть две версии скрипта autoconf — autoconf-2.13 и autoconf-2.65. Выбор версии скрипта определяет, в частности, какая библиотека m4-файлов будут использоваться. Для autoconf 2.65 используются m4-скрипты из директории /usr/share/autoconf/autoconf. А autoconf 2.13 использует m4-скрипты из директории /usr/share/autoconf. Autoconf 2.13 непосредственно обращается к макропроцессору M4 для разбора M4-файлов. А autoconf 2.65 обращается к m4 через промежуточный скрипт autom4te. Механизм вызова autom4te аналогичен процессу вызова autoconf — через символьную ссылку и скрипт ac-wrapper.sh. Скрипт autom4te в свою очередь используется как обертка к m4 не только скриптом autoconf-2.65, но и остальными скриптами autotools версии 2.65 — autoheader-2.65, autoreconf-2.65, autoscan-2.65, autoupdate-2.65. Конфигурационный файл для autom4te — /usr/share/autoconf/autom4te.cfg.
  2. Итак, файл configure создан. Теперь необходимо его запустить.
    Если у вас в cygwin установлен emacs, то в configure  может определиться путь к emacs из cygwin. В таком случае можно emacs в cygwin просто временно переименовать.
    Появится следующее сообщение об ошибке:

    ./configure: line 2397: /cygdrive/c/Program: No such file or directory

    Эта ошибка возникает из-за того, что в пути к emacs есть пробел. Ошибку легко устранить, если в файле configure заключить путь к emacs в кавычки. Но это будет поверхностное решение. Файл configure формируется утилитой autoconf на основании шаблона configure.in и библиотеки m4-скриптов. Найдём и исправим m4-скрипт, который приводит к ошибке. Цепочка вызовов m4-скриптов, приводящих к ошибке, следующая: AC_PATH_EMACS (вызывается из configure.in и определяется в aclocal.m4) -> AC_PATH_PROG (для autoconf 2.65 определяется в файле /usr/share/autoconf/autoconf/programs.m4) -> _AC_PATH_PROG (для autoconf 2.65 определяется в файле /usr/share/autoconf/autoconf/programs.m4). Для autoconf 2.13 скрипт AC_PATH_PROG определяется в файле /usr/share/autoconf/acgeneral.m4. Если используется autoconf 2.65, то в конце скрипта _AC_PATH_PROG необходимо заменить строку

    $1=$ac_cv_path_$1

    на строку

    $1=\"$ac_cv_path_$1\"

    Если используется autoconf 2.13, то надо сделать аналогичные по сути изменения в скрипте AC_PATH_PROG из файла /usr/share/autoconf/acgeneral.m4. Эту задачу я оставляю для желающих как самостоятельное упражнение.
    Для отладки M4-скриптов можно использовать скрипт:

    AC_MSG_NOTICE([Debug:: I am in AC_PATH_PROG $@ end_debug_message])dnl

    Если сейчас снова сформировать configure и запустить его, то получим ту же ошибку. Потому что мы не обновили freeze-файл autoconf.m4f. Про то что такое freeze можно почерпнуть немного информации из документации по M4. Коротко говоря, freeze-файлы используются для ускорения работы макропроцессора m4. Если этот freeze-файл удалить, пересоздать и запустить configure, то этой ошибки не будет.

    Займемся обновлением файла autoconf.m4f. Если вы для создания freeze-файла для autoconf.m4 выполните команду

    m4 -F autoconf.m4f autoconf.m4

    то у вас ничего не получится. Потому что в файлах, которые подключаются в autoconf.m4 есть m4sugar-скрипты. M4sugar — это m4-скрипты, являющиеся обертками для m4-скриптов. Файлы M4sugar находятся в директории /usr/share/autoconf/m4sugar.

    Для создания freeze-файла из autoconf.m4 удобнее использовать скрипт autom4te. Но если вы выполните команду

    autom4te --language=Autoconf --freeze -o autoconf.m4f autoconf.m4

    то получите ошибку, потому что опция —language=Autoconf уже определяет список всех необходимых файлов для создания freeze-файла autoconf.m4f, а мы еще явно указали файл autoconf.m4. Правильная строка для формирования autoconf.m4f следующая:

    autom4te --language=Autoconf --freeze -o autoconf.m4f
  3. Теперь выполним команду make. Входным файлом для команды make является Makefile, который генерится скриптом configure на основании файла Makefile.in.
  4. Выполним make install.
  5. Выполним команду make install-icons

На этом всё. Можно запускать emacs и выполнять команду «M-x w3m». Вот как отображается мой сайт в emacs-w3m:

Мой сайт в emacs-w3m

Использование emacs-w3m

Другие примеры того как emacs-w3m рендерит html можно посмотреть в этом посте из моего блога.

Emacs-W3M поддерживает табы.

Современные версии w3m имеют встроенный просмотрщик изображений. Для включения/отключения изображений необходимо нажать клавишу «T» в окне браузера. Ставить пакет w3m-img не нужно. Да его и нет в составе cygwin.

А вот как можно быстро переключаться между W3M браузером и другим буфером emacs.

А вот тут есть плагин для Firefox, который заменяет оформление браузера и горячие клавиши а-ля emacs.

Июл
21

Установка psyco, pylint и pyunit под Windows

При использовании PyDev в связке с Eclipse под Windows и попытке отладки python кода возникает предупреждение:

pydev debugger: warning: psyco not available for speedups (the debugger will still work correctly, but a bit slower)
pydev debugger: starting
pydev debugger: warning: psyco not available for speedups (the debugger will still work correctly, but a bit slower)pydev debugger: starting

Установочные файлы psyco под Windows следует искать не на домашней странице psyco, а на VoidSpace. Последняя поддерживаемая версия Pyhon — 2.6.

Для установки pylint под Windows есть хорошая инструкция на Thinkhole Labs. Я сделал как там написано и никаких проблем не возникло.

pyunit ставится аналогично pylint — надо скачать исходники, настроить переменную окруженич %PATH% и в консоли выполнить команду

python setup.py install