3.2 KiB
layout, title, description, date, sidebar, comments, sharing, footer
layout | title | description | date | sidebar | comments | sharing | footer |
---|---|---|---|---|---|---|---|
page | Set up Development Environment | Set up your environment to start developing for Home Assistant. | 2014-12-21 13:32 | true | false | true | true |
You'll need to set up a development environment if you want to develop a new feature or component for Home Assistant. Read on to learn how to set up.
{% linkable_title Setup Local Repository %}
Visit the Home Assistant repository and click Fork. Once forked, setup your local copy of the source using the commands:
$ git clone https://github.com/YOUR_GIT_USERNAME/home-assistant.git
$ cd home-assistant
$ git remote add upstream https://github.com/home-assistant/home-assistant.git
{% linkable_title Prepare Your Environment %}
{% linkable_title Core dependencies %}
Install the core dependencies.
$ sudo apt-get install python3-pip python3-dev libssl-dev
Different distributions have different package installation mechanisms and sometimes packages names as well. For example Centos would use: `sudo yum install epel-release && sudo yum install python34 python34-devel mysql-devel`
Additional dependencies exist if you you plan to perform Frontend Development, please read the Frontend section to learn more.
{% linkable_title Setting up virtual environment (optional) %}
If you plan on providing isolation to your environment using venv
. Within the home-assistant
directory, create and activate your virtual environment.
If using Python < 3.6 pyvenv
is the recommended method of setting up virtual environments, you'll need to install the python3-venv
package.
$ sudo apt-get install python3-venv
$ pyvenv venv
$ source venv/bin/activate
If using Python 3.6 pyvenv
has been deprecated:
$ python3 -m venv venv
$ source venv/bin/activate
{% linkable_title Setup and Run %}
- On Mac OS X and Linux (remember to activate your virtual environment before running setup, if you are using one):
$ cd home-assistant
$ script/setup
-
On Windows, you can use
python setup.py develop
instead of the setup script. -
Run
hass
to invoke your local installation.
{% linkable_title Logging %}
By default logging in home-assistant is tuned for operating in production (set to INFO by default, with some modules set to even less verbose logging levels).
You can use the logger component to adjust logging to DEBUG to see even more details about what is going on.
{% linkable_title Developing on Windows %}
If you are using Windows as a development platform, make sure that you have the correct Microsoft Visual C++ build tools installed. Check the Windows Compilers section on the Python website for details. Validation using tox
will fail if this is not done correctly.
Also, make sure to install or upgrade the setuptools
Python package. It contains compatibility improvements and adds automatic use of compilers:
$ pip install --upgrade setuptools