.. only:: html
.. _capi-paths:
Организация файлов
===============================
Для реализации программного интерфейса используется
Python версии 3.2.2 (``_).
Он поставляется вместе с дистрибутивом клиента Cerebro
(``_).
Также в поставку с дистрибутивом включены сторонние пакеты:
* **psycopg2** -- доступ к базе данных PostgreSQL
(``_);
* **PySide** -- разработка пользовательского интерфейса
(``_);
* **xlrd3** -- чтение файлов формата Excel97
(``_);
* **xlwt3** -- запись в файлы формата Excel97
(``_);
* **html2text** -- преобразование текста в формате HTML в
обычный текст (``_).
Файлы программного интерфейса расположены в папке **py-frontend**.
Python и сторонние пакеты расположены в папке **py-site-packages**.
Обе папки находятся рядом с исполняемым файлом приложения Cerebro.
.. note::
В случае операционной системы Mac OS X эти папки могут
располагаться как внутри контейнера Cerebro.app
(**Cerebro.app/Contents/MacOs/**), так и рядом с ним.
Сначала проверяются папки рядом с контейнером Cerebro.app.
Это сделано для удобства хранения Python-модулей на сервере сразу
для всех операционных систем. То есть, если у вас все исполняемые
файлы Cerebro для всех ОС расположены на сервере в одной папке,
то папки для Python-модулей будут находиться внутри неё в
единственном экземпляре.
В папке **py-frontend** лежат
:ref:`шаблоны расширяемых модулей `,
пакет :ref:`cerebro ` и пакет примеров
:ref:`examples `.
Структура файлов Cerebro Python API на жестком диске::
Cerebro/
cerebro
py-frontend/
examples/
...
cerebro/
...
event.py.template
logoff.py.template
logon.py.template
menu.py.template
py-site-packages/
linux32/
...
linux64/
...
mac/
...
psycopg2/
...
win/
...
html2text.py
python32.zip
xlrd3.zip
xlwt3.zip
...
Где приложение ищет пользовательские модули
--------------------------------------------
Пользовательские пакеты и модули по умолчанию ищутся:
* в корневой директории, рядом с исполняемым файлом приложения Cerebro;
* в папке **py-frontend**;
* в папке **py-site-packages**;
* в папках **py-site-packages/linux32**, **py-site-packages/linux64**,
**py-site-packages/mac**
и **py-site-packages/win** в зависимости от операционной системы.
Все пути для поиска можно посмотреть в переменной *sys.path*.
Вы также можете добавить дополнительные пути поиска в эту переменную,
но делать это нужно до импорта пакета/модуля, который расположен по
этому пути.