Upgrading to Python 3.6 in venv
Do you have a Raspberry Pi/Ubuntu that is running an older version of python and you want to upgrade python version?
Upgrading to Python 3.6
Starting 0.65, Home Assistant requires minimum Python version 3.5.3. For those who are running on older versions of Python in virtual environment, you can use the following instructions to upgrade quickly.
Before you continue, it is always a good practice to update your operating system. Run the following commands to update:
sudo apt-get update sudo apt-get upgrade -y sudo apt-get dist-upgrade
Install Python3 components:
sudo apt-get install python3 python3-venv python3-pip
Make sure the
homeassistant user is created.
sudo useradd -rm homeassistant
Prepare the working directory where the virtual environment will reside. Note that it will rename the existing
homeassistant virtual environment to
homeassistant_old before it creates a new virtual environment with the same name.
If your old virtual environment is named differently, feel free to change the commands.
cd /srv sudo mv homeassistant homeassistant_old sudo mkdir homeassistant sudo chown homeassistant:homeassistant homeassistant
Installing Python 3.6 on Ubuntu/Debian Systems:
sudo add-apt-repository ppa:jonathonf/python-3.6 sudo apt-get update sudo apt-get install python3.6 sudo apt-get install python3.6-venv sudo apt-get install python3.6-dev
Installing Python 3.6 on Raspberry Pi:
sudo apt-get update sudo apt-get install build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz tar xf Python-3.6.0.tar.xz cd Python-3.6.0 ./configure make sudo make altinstall sudo rm -r Python-3.6.0 rm Python-3.6.0.tar.xz
Now that you installed Python 3.6, run thefollowing commands to setup virtual environment:
sudo su -s /bin/bash homeassistant cd /srv/homeassistant python3.6 -m venv . source /srv/homeassistant/bin/activate
Finally, Install/Upgrade and run Home Assistant:
(homeassistant) homeassistant@<hostname>:/srv/homeassistant python3 -m pip install wheel (homeassistant) homeassistant@<hostname>:/srv/homeassistant pip3 install homeassistant (homeassistant) hass
If everything is running well, you may want to delete the old virtual environment by running the following command:
sudo rm -r /srv/homeassistant_old
You are all set!
To install 3.5.3 version of python, the procedure is exactly the same, except download the file from the path: