Creating a development environment¶
Install Python 3.6+, preferably Python 3.8: check your Linux distribution docs to see how to install a particular version; for Windows go to https://www.python.org/downloads/. Check “Add Python 3.8 to PATH” during installation.
sudo apt install git or equivalent on Linux; for Windows go to https://git-scm.com/download/win
Recommended - install PostgreSQL database
Check out git repo¶
Either clone the main OpenREM repository, or fork it first and then clone that (adapt the command accordingly):
$ git clone https://bitbucket.org/openrem/openrem.git
The OpenREM source code will now be in a folder called openrem. If you wish to specify the folder, you could do this by adding the folder name to the clone command.
Create Python virtual environment¶
Linux - install the Python package
pip (Windows users,
venv should have been
installed with Python automatically):
$ sudo apt install python3-venv
Then create the Python virtual environment in a folder called
openrem-venv (change as required):
$ python3.8 -m venv openrem-venv $ . openrem-venv/bin/activate
Windows PowerShell (for
PS C:\Path\To\Coding Folder> C:\Python38\python -m venv openrem-venv PS C:\Path\To\Coding Folder> .\openrem-venv\Scripts\Activate.ps1
For users of VS Code, it can be useful to create the virtual environment in a folder called
within your project folder (where you checked out the git repo), then VS Code will find it automatically.
If you are using PyCharm you can click on the Python interpreter at the bottom right and click ‘Add
Install the Python libraries¶
git repository is in a sub-folder called
openrem- change as necessary
venv is activated
$ pip install -e openrem/
You’ll need a basic configuration of OpenREM to run any code locally - copy the
openremproject/local_settings.py and set a path for a SQLite
To use PosgreSQL instead of SQLite3, set up a user in pgAdmin 4 on Windows, and an empty database with the same user as owner, or use the Database and OpenREM config instructions on Linux.
Run test webserver¶
To see the changes you have made with the web interface, you can use the built-in Django webserver:
python manage.py runserver --insecure
In a web browser on the same computer, go to http://localhost:8000/ - you should now see the message about creating users.
Create a branch in the git repository, and start making your changes, adding your features etc!
When you are done, push it back to Bitbucket and send in a pull request! Ideally, try and use the
syntax in commit messages to reference the issue on Bitbucket you are working on.