Installation in Python virtual environment

If you already have Python 3.7 or later installed, you can easily give Home Assistant a spin.

It’s recommended when installing Python packages that you use a virtual environment. This will make sure that your Python installation and Home Assistant installation won’t impact one another. The following steps will work on most UNIX like systems.

This is a generic guide for running Home Assistant under Python. We recommend to use our recommended installation guides. The steps below may be shorter but some users find difficulty when applying updates and may run into issues.

Before you begin the guide below, ensure that you have a so-called standard build environment that includes things like make, gcc, python3, including Python 3 setuptools and pip modules. Less obvious is the need to install openssl-dev (for opensslv.h) and libffi-dev (for cffi.h) for things to build later on.


  1. Create a virtual environment in your current directory:
    python3 -m venv homeassistant
  2. Open the virtual environment:
    cd homeassistant
  3. Activate the virtual environment:
    source bin/activate
  4. Install Home Assistant:
    python3 -m pip install homeassistant
  5. Run Home Assistant:
    hass --open-ui
  6. You can now reach the web interface on http://ipaddress:8123/ - the first start may take a couple of minutes before the web interface is available. This can take longer if you’re using lower-end hardware like a Raspberry Pi Zero.


  1. Stop Home Assistant

  2. Open the directory where the virtual environment is located, activate the virtual environment, then upgrade Home Assistant:

    cd homeassistant
    source bin/activate
    python3 -m pip install --upgrade homeassistant
  3. Start Home Assistant

  4. You can now reach the web interface on http://ipaddress:8123/ - the first start may take some time before the web interface is available, depending on how many integrations need to be upgraded.

Run a specific version

In the event that a Home Assistant version doesn’t play well with your hardware setup, you can downgrade to a previous release. For example:

cd homeassistant
source bin/activate
pip3 install homeassistant==0.XX.X

Run the beta version

If you would like to test next release before anyone else, you can install the beta version, for example:

cd homeassistant
source bin/activate
pip3 install --pre --upgrade homeassistant

Run the development version

If you want to stay on the bleeding-edge Home Assistant development branch, you can upgrade to dev.

The "dev" branch is likely to be unstable. Potential consequences include loss of data and instance corruption.

For example:

cd homeassistant
source bin/activate
pip3 install --upgrade git+git://


  • In the future, if you want to start Home Assistant manually again, follow step 2, 3 and 5.
  • It’s recommended to run Home Assistant as a dedicated user.
  • If you want Home Assistant to automatically start at boot, check the autostart docs

Looking for more advanced guides? Check our Raspbian guide or the other installation guides.

After upgrading Python

If you’ve upgraded Python (for example, you were running 3.7.1 and now you’ve installed 3.7.3) then you’ll need to build a new virtual environment. Simply rename your existing virtual environment directory:

mv homeassistant homeassistant.old

Then follow the Install steps again, being sure to use the newly installed version of Python.