1. File Structure¶
Also, distribution pack includes following third-party packages:
- psycopg2 – access to a PostgreSQL database (http://initd.org/psycopg/);
- PySide – UI framework (http://www.pyside.org/);
- xlrd3 – for reading Excel97 file format (http://pypi.python.org/pypi/xlrd3/);
- xlwt3 – for writing files in Excel97 format (http://pypi.python.org/pypi/xlwt3/);
- html2text – HTML to plain text converter (https://github.com/aaronsw/html2text/).
The API files are stored in py-frontend folder. Python and the third-party packages are stored in py-site-packages folder. Both folders are located next to the Cerebro executable file.
For Mac OS X these folders may be stored either inside the Cerebro.app (Cerebro.app/Contents/MacOs/) container, or next to it. First, check the folders next to the Cerebro.app container. It is done for the sake of convenience in case you have a centralized server storage of Python modules in a multi-OS environment. That is, if you have Cerebro executable files for all operating systems next to each other, in the same folder, the subfolders for Python modules will be inside this folder as well, as a single copy, without unnecessary duplication.
Cerebro Python API file structure on a HDD:
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 ...
1.1. Where the application looks for user-written modules¶
User-made packages and modules are being searched for by default:
- in a root directory, next to a Cerebro executable file;
- in the py-frontend folder;
- in the py-site-packages folder;
- in the py-site-packages/linux32, py-site-packages/linux64, py-site-packages/mac and py-site-packages/win folders depending on the operating system.
All the search paths are contained in the sys.path variable. You can add additional search paths there. Please note that it should be done before you import the package/module located there.