OS X 10.8
First, we need to install XCode + GCC and Homebrew. You can download XCode for free in the Apple AppStore. After installation, the command line tools can be installed under Preferences > Downloads > Components.
For homebrew create /usr/local and change the permissions to rwx for your OS X user. Then install homebrew by running:
ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
The homebrew package for Qt does not depend on all available graphic libraries. If want support for a specific format you need to install the library for this format first.
brew install libtiff libjpeg libpng
Now you can install pyqt or pyside. This takes on my machine approx. 20 minutes.
brew install pyqt
brew install pyside pyside-tools
Important: you need to add /usr/local/lib/python2.7/site-packages to your PYTHONPATH!
If you do not have access to a couchdb or elasticsearch server, you now need to install couchdb and/or elasticsearch. With homebrew this is very easy:
brew install couchdb elasticsearch
To start couchdb automatically in system startup, copy the startup script of couchdb to your LaunchAgents path.
mkdir -p ~/Library/LaunchAgents cp /usr/local/Cellar/couchdb/1.2.0/Library/LaunchDaemons/org.apache.couchdb.plist ~/Library/LaunchAgents/ launchctl load -w ~/Library/LaunchAgents/org.apache.couchdb.plist
If you want to start couchdb manually, just open a terminal and type
The easiest way to install all libraries on windows, are binary installers. You get them for most libraries, especially if the need to be compiled, on the projects homepages. If you have a working python /w c-compiler setup on your machine, you can also use pip to install the required python packages.
After installation you should update your environment varible for the PYTHONPATH and PATH
PYTHONPATH="<installation path>/Python27/Lib/;<installation path>/Python27/Lib/site-packages/" PATH="%PATH%;<installation path>/Python27/;<installation path>/Python27/Scripts"
Now install pip with easy_install
cd <installation path>/Python27/Scripts easy_install pip
If you do not have access to a couchdb or elasticsearch server, you now need to install couchdb and/or elasticsearch.
For java you should add the JAVA_HOME environment variable.
JAVA_HOME="<path to java>/jre/"
Generate a win32 installer
First we need to install py2exe
pip install py2exe
Because of our dependency to zope.interface and the fact, that the zope interface is not a real package, we needto create a empty init.py in our installed zope package folder.
touch <path to python>/lib/site-packages/zope/__init__.py
After that, you should be able to create a binary distribution by
cd deploy python setup.py py2exe
The exceutable is created in the dist folder. You can start the executable by
or create a installer with InnoSetup
Activate support for image formats
PyQt has a plugin system for the different supported image formats. Those plugins are not automatically included to the generated bundle. To include those plugins you need to copy the imageformats folder from your QT/PyQt installationto the dist folder, manually.
cp -a <path to python>/Lib/site-packages/PyQt4/plugins/imageformats deploy/dist/imageformats
RedHat Enterprise Linux 6.x (CentOS 6.x / Scientific Linux 6.x)
First we need to install a default EL6 system*. Then enable the required repositories.
rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm wget http://wallaby.freshx.de/repo/binary/Linux/RPM/wallaby.repo -O /etc/yum.repos.d/wallaby.repo
If you have qt-devel or qt3-devel installed, you should remove them, because they conflict with the qt48-devel package wich we install later
rpm -e qt-devel rpm -e qt3-devel
Now install wallaby (this automatically installs updated versions of Qt (V4.8.3), PyQt (4.8.3) sip (4.12.1), Twisted (V12.2.0), CouchDB (1.2) and Elasticsearch (0.19))
yum install wallaby
and start the couchdb and elasticsearch server
service couchdb start service elasticsearch start
Based on some of the following howto's the rpm files were created:
Our source RPMs can be found here
Debian 6.x Installation
Until now only the server backend (couchdb + elasticsearch is supported). as soon as qt48 + pyqt is ready for Debian wallaby will be fully running.
First you need to enable the unstable source (see apt-pinning). Then you can install CouchDB 1.2 with
apt-get install couchdb
Get elasticsearch >= 0.19 from here and install it
wget https://github.com/downloads/elasticsearch/elasticsearch/elasticsearch-0.19.11.deb dpkg -i elasticsearch-0.19.11.deb
apt-get install python-qt4 pyqt4-dev-tools qt4-designer
Platform independent Setup
To use any app, you first need to bootsrap the database. For example to bootstrap the inspector app use the following command:
wlby -a inspector --push default
Elasticsearch / River
<path to elasticsearch>/bin/plugin -install elasticsearch/elasticsearch-river-couchdb/1.1.0
The web-frontend can be accessed with http://localhost:9200/_plugin/head/
To activate the new plugins you need to restart elasticsearch!
Twisted 12.x is part of Mac OS X as well as RedHat (if installed by the docu above) If you want a clean installation, it is recommended to use virtualenv.
pip install virtualenv ...
Install all wallaby dependencies with
pip install wallaby
Once you successfully installed wallaby you can run
wlby -a inspector
Once Walllaby is installed the wallaby command is available in command line.
Use wlby --help to get a list of the options:
wlby --help Options: -h, --help show this help message and exit -a APP The application name. If you are in a wallaby application folder, this option could be omitted. --username=USERNAME The user to authenticate with the backends. --password=PASSWORD The password to authenticate with the backends. --create=CREATE Create a new application with the given name. This option creates a new folder wallaby-app-<name> --push=PUSH Push the couchapp to the given target. The targets could be configered in the <app>/couchapp/.couchapprc configuration file --script=SCRIPT Execute an application script. The scripts are located in the <app>/scripts folder --server=SERVER The URL of the backend server (without port) --couch-port=COUCHPORT The port of the CouchDB backend --es-port=ESPORT The port of the elasticsearch backend --db=DB The name of the database. Defaults to the application name -p PREF Special option for the designer. Open the preference sheet with the given name. -i ISHEET Special option for the designer. Open the inspector sheet with the given name. -c CHECK Check the pillow consistency of the given room-name -s Output the suggestions for all room --fx Use the backends of FreshX. --designer Launch the Qt designer. --designerLog Output the designer log to the current folder. --debug=DEBUG Debug the given rooms. Multiple room are seperated by