summaryrefslogtreecommitdiff
path: root/README.rst
blob: 592a29727e2f0f8d284f82605ea4066b80137cc4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
sublab website
**************

Prerequisites
=============

- Python_
- Git_
- virtualenv_ (optional, but recommended)
- virtualenvwrapper_ (optional, makes your life easier)
- pip_
- Redis_ (only needed for the task queue)

How to setup a development machine
==================================

First clone the repository::

    $ git clone git://git.sublab.org/subweb

*The next step is optional but is much more easier to work with an virtual
environment instead installing everything inside your Python installation.*

Create a virtual environment using virtualenv_ somewhere and activate it (you
can also use virtualenvwrapper_ instead if you like)::

    $ virtualenv --no-site-packages --distribute sublab_website
    $ cd sublab_website
    $ . bin/activate

Install the Python packages inside the activated virtual environment, inluding
the ones for development::

    (sublab_website)$ cd subweb
    (sublab_website)$ pip install -r requirements_dev.txt

Some of the Python packages need additional libraries. It depends on your
platform which libraries you need to install.

PIL_
    You need will `jpeg` and `zlib` libraries to compile PIL. Use your
    favorite package manager to install them.

python-ldap_
    See `python-ldap prerequisites <http://www.python-ldap.org/doc/html/installing.html#prerequisites>`_.
    On OS X you need to `reinstall the OpenLDAP Libraries <http://projects.skurfer.com/posts/2011/python_ldap_lion/>`_.

Create a symlink to the development settings::

    (sublab_website)$ cd sublab_project
    (sublab_website)$ ln -s ../conf/dev_settings.py local_settings.py

Now create the database::

    (sublab_website)$ ./manage.py syncdb
    (sublab_website)$ ./manage.py migrate

Finally start the development webserver::

    (sublab_website)$ ./manage.py runserver

To run the task queue you need to start Redis first. Then start the Celery_
daemon in a new terminal::

    (sublab_website)$ ./manage.py celeryd -B -E -l info

To be able to see the tasks in the Django admin you need to start
``celerycam`` in a third terminal::

    (sublab_website)$ ./manage.py celerycam

..  _Python: http://python.org/
..  _Git: http://git-scm.com/
..  _pip: http://www.pip-installer.org/
..  _Redis: http://redis.io/
..  _virtualenv: http://www.virtualenv.org/
..  _virtualenvwrapper: http://www.doughellmann.com/projects/virtualenvwrapper/
..  _PIL: http://www.pythonware.com/products/pil/
..  _python-ldap: http://www.python-ldap.org/
..  _Celery: http://celeryproject.org/