We recommend installing Reahl within a sandboxed Python environment provided by virtualenv. Doing this means that your main Python installation is left in the state it currently is, and that you do not need permissions of restricted users to install all the extra Python packages when developing.
Prepare your platform for Python development¶
Before you can install Reahl itself, you need to install several pieces of software on your platform (including Python and several Python development tools like virtualenv). This differs from platform to platform – please follow the instructions for your platform:
Once you have prepared your system, install Reahl itself in a virtualenv:
Create a virtualenv and install Reahl inside it¶
Next, you need to create a virtual environment using virtualenv and install Reahl inside it.
On Linux or Mac, do:
If you have more than one version of Python installed, also pass the -p argument to virtualenv, specifying the path to the Python interpreter you want this virtualenv for.
On Windows, do (in a command shell):
This creates a new directory reahl_env with an isolated Python environment inside it.
In order to work inside that isolated environment, you need to execute the following on the command line:
On Linux or Mac:
After activating your new environment, the prompt of the command line changes to reflect the environment that is currently active.
With your virtualenv activated, Reahl can be installed into it by issuing (regardless of platform):
pip install reahl[declarative,sqlite,dev,doc]
Some of Reahl’s dependencies are distributed in binary form for Windows. These have to be installed using the wheel format when using pip, so do ensure that you are using a version of Pip > 6.
This may run a while, as it installs all of the projects Reahl depends on as well. Some of these dependencies are installed and built from source (on platforms other than windows), hence, this process needs your platform to be prepared properly for Python development before you attempt to install Reahl.
Choose what to install¶
Reahl is composed of a number of different components that you can mix and match depending on your requirements. For example, you probably do not want the development tools in a production environment, so they are packaged in a component you can omit.
In order to specify which sets of components you want installed, you use keywords in square brackets behind reahl in the command to pip as shown above. Here is a list of keywords you can include, and what they install:
- The declarative implementation of the web framework
- The development tools
- Documentation and examples
- Support for sqlite databases
- Support for postgresql databases