Update development environment setup guide (#1804)

This commit is contained in:
Martin Rowan 2017-01-26 17:54:48 +00:00 committed by Johann Kellerman
parent b8c439792b
commit 2255af407a

View File

@ -11,14 +11,52 @@ footer: 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.
* Visit the [Home Assistant repository](https://github.com/home-assistant/home-assistant) and click **Fork**.
* Consider setting up a virtual environment using [`venv`](https://docs.python.org/3.4/library/venv.html) before running the setup script.
### {% linkable_title Setup Local Repository %}
Visit the [Home Assistant repository](https://github.com/home-assistant/home-assistant) and click **Fork**.
Once forked, setup your local copy of the source using the commands:
```bash
$ 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.
```bash
$ sudo apt-get install python3-pip python3-dev libssl-dev
```
<p class='note'>
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`
</p>
Additional dependencies exist if you you plan to perform Frontend Development, please read the [Frontend](https://home-assistant.io/developers/frontend/) section to learn more.
#### {% linkable_title Setting up virtual environment (optional) %}
If you plan on providing isolation to your environment using [`venv`](https://docs.python.org/3.4/library/venv.html). 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.
```bash
$ sudo apt-get install python3-venv
$ pyvenv venv
$ source venv/bin/activate
```
If using Python 3.6 `pyvenv` has been deprecated:
```bash
$ 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):
```bash
$ cd home-assistant
$ script/setup
```