Python 3.7 + Home Assistant

Buenas a todos, en esta guía vamos a intentar dar solución al aviso que nos muestra Home Assistant en las versiones 0.95 en adelante referente a actualizar a python 3.7 antes del 1 de agosto.

Como veréis es poco más que instalar Python 3.7 y luego crear de nuevo el entorno virtual sin necesidad de instalar de nuevo todo Home Assistant, eso si, tomarlo con paciencia que Python tarda lo suyo.

– Instalación de Python 3.7 con nuestro usuario normal (pi o el que tengamos por defecto):
$ sudo apt-get update

$ sudo apt-get install -y 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 libffi-dev

Estos pasos se tomaran su tiempo

$ wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz

$ tar xf Python-3.7.0.tar.xz

$ cd Python-3.7.0

$ ./configure --prefix=/usr/local/opt/python-3.7.0

$ make -j 4

$ sudo make altinstall
– Ahora vamos a hacer que python 3.7 sea la versión por defecto:
$ sudo ln -s /usr/local/opt/python-3.7.0/bin/pydoc3.7 /usr/bin/pydoc3.7
$ sudo ln -s /usr/local/opt/python-3.7.0/bin/python3.7 /usr/bin/python3.7
$ sudo ln -s /usr/local/opt/python-3.7.0/bin/python3.7m /usr/bin/python3.7m
$ sudo ln -s /usr/local/opt/python-3.7.0/bin/pyvenv-3.7 /usr/bin/pyvenv-3.7
$ sudo ln -s /usr/local/opt/python-3.7.0/bin/pip3.7 /usr/bin/pip3.7

$ alias python='/usr/bin/python3.7'
$ alias python3='/usr/bin/python3.7'
– Seguimos, borramos la descarga y comprobamos la versión Python:
 $ ls /usr/bin/python*
 $ cd ..
 $ sudo rm -r Python-3.7.0
 $ rm Python-3.7.0.tar.xz
 $ . ~/.bashrc
 ## Verificar version, nos debe devolver 3.7.0:
 $ python -V
– Ahora toca detener el servicio de Ha:
$ sudo systemctl stop home-assistant@homeassistant.service
– Renombramos la carpeta existente en /srv:
$ sudo mv /srv/homeassistant /srv/homeassistant_old

– Creamos la nueva carpeta y cambiamos propietario:
 $ cd /srv
 $ sudo mkdir homeassistant
 $ sudo chown homeassistant:homeassistant homeassistant
– Vamos a crear el nuevo entorno virtual con 3.7, ahora si cambiamos de usuario a homeassistant:
$ sudo -u homeassistant -H -s
$ cd /srv/homeassistant
$ /usr/local/bin/python3.7 -m venv .
**Si el comando anterior da error probar con $ /usr/bin/python3.7 -m venv .
$ source bin/activate
$ pip install wheel homeassistant

Si todo a ido bien podemos arrancar de nuevo el servicio de Home Assistant ( $ sudo systemctl restart home-assistant@homeassistant.service ) y después de darle unos 10 min para que cargue todos los componentes deberemos poder entrar en la interfaz y comprobar que el aviso de python 3.7 ha desaparecido.

Haciendo un status del servicio también deberemos de comprobar que ya nos indica la utilización de python 3.7. Una vez arrancado todo podemos eliminar la carpeta homeassistant_old.

Espero que sirva de ayuda.

Como siempre, si tienes cualquier duda, deja tu comentario o ponte en contacto con nosotros en telegram

Hasta la próxima!

Referencia para la instalación de Python 3.7:

https://www.ramoonus.nl/2018/06/30/installing-python-3-7-on-raspberry-pi/

Deja un comentario

Síguenos

Siguenos en facebook