Aggiornare Python su Raspbian alla 3.8.x (o superiori) – e ripristinare Home Assistant Core

3 minuti di lettura
SCOPI DELLA GUIDA
  • Aggiornare la versione di Python alla 3.8.x
  • Livello di difficoltàbasso
CONCETTI AFFRONTATI:
  • Utilizzo e configurazione software
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI
  • Home Assistant Core installato su sistema operativo Raspbian (no HASSIO, no HASSIO su Docker, no Hassbian)
  • Python versione < 3.8.x
DISPOSITIVI FISICI UTILIZZATI:
GUIDA maggiormente indicatA per:

Tutti gli ambienti

Note e disclaimer
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata ed realizzata SOLO da personale qualificato;
  • qualsiasi modifica attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno puro scopo didattico);
  • qualsiasi modifica attuata in proprio a un dispositivo ne fa decadere garanzia, omologazioni e certificazioni di qualità.
Revisione guida: 1.2

Abstract

A partire dalla versione 0.116 di Home Assistant, la versione di Python 3.7.x (o inferiori) è considerata deprecata. Home Assistant considererà tale versione obsoleta come non più valida a partire dalla versione 0.118 (di prossima uscita), pertanto Home Assistant non funzionerà semplicemente più.

Questo vale solo per le installazioni di Home Assistant Core su sistemi dotati di sistemi Raspberry Raspbian (no HASSIO, no HASSIO su Docker) – ad esempio come in questa guida – oppure, sempre come applicativo, sul altri sistemi operativi.

Questa guida illustra come aggiornare Python su un sistema Raspberry Pi con sistema operativo Raspbian da una versione inferiore alla 3.8.x a quest’ultima.

Si consiglia, per sicurezza, di effettuare un backup della propria microSD (o disco SSD che sia).

ATTENZIONE: provvedere ad effettuare PRIMA l’aggiornamento alla versione 0.116 (o 0.117 quando disponibile) di Home Assistant (come spiegato in calce al post che illustra questa nuova versione), verificare che esso riparta correttamente – ed eventualmente risolvere gli eventuali problemi – e POI provvedere a questo aggiornamento. Diversamente, un eventuale mancato riavvio di Home Assistant potrebbe essere imputato alla procedura che segue quando invece potrebbe derivare dalle novità introdotte dalla 0116.

La procedura che segue è testata e funzionante. Ma ulteriore ATTENZIONE: si tratta di una procedura che può prendere diverse ore. Non essere frettolosi e lasciare che il mini computer esegua completamente tutti i passaggi.

Verifiche

Prima di proseguire, verificare che la configurazione di Home Assistant sia presente sotto il path:

/home/homeassistant/.homeassistant

In secondo luogo, eseguire il seguente comando:

python3 --version

se la versione è inferiore alla 3.8.x, allora è il momento di agire.

Aggiornamento

Innanzitutto fermare Home Assistant:

sudo systemctl stop home-assistant@homeassistant

a questo punto eseguire la seguente sequenza di comandi:

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 libopenjp2-7 libtiff5 libjpeg-dev bluetooth libbluetooth-dev -y
sudo pip3 install pybluez
wget https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tgz
tar xzvf Python-3.8.6.tgz
cd Python-3.8.6/
./configure
make
sudo make install

prendersi una pausa, ci vorrà un po’.

N.b. Nulla vieta, nel secondo comando (e quelli a seguire, di conseguenza) di indicate un .tgz relativo a una diversa versione, per esempio:

wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz

è infatti sufficiente consultare l’elenco online delle versioni per decidere arbitrariamente quale versione installare. Non esser troppo zelanti: la 3.9, per esempio, non è ancora supportata ufficialmente da Home Assistant.

Al termine, disabilitare temporaneamente il servizio di Home Assistant e provvedere ad un reboot:

sudo systemctl disable home-assistant@homeassistant
sudo reboot

Salvare Home Assistant

A questo punto è necessario salvare la propria configurazione di Home Assistant:

cd /srv/homeassistant 
sudo rm * -R
cd .. 
sudo chown homeassistant:homeassistant homeassistant
cd /home/homeassistant
sudo mv .homeassistant/ .homeassistant_backup
sudo su -s /bin/bash homeassistant

Aggiornare

Ora è possibile installare l’ultima versione di Home Assistant:

cd /srv/homeassistant
python3.8 -m venv .
source bin/activate
pip3 install homeassistant
hass -v

Attendere l’avvio completo di Home Assistant, attendendo di leggere la riga di log:

INFO (MainThread) [homeassistant.core] Starting Home Assistant

dopodiché, brekkare con ctrl+c.
Infine, ripristinare la configurazione di Home Assistant.

deactivate 
exit
cd /home/homeassistant
sudo rm .homeassistant/ -R
sudo mv .homeassistant_backup/ .homeassistant
sudo chmod -R 0777 /home/homeassistant/
sudo systemctl enable home-assistant@homeassistant
sudo reboot

A questo punto Raspberry dovrebbe effettuare un reboot e Home Assistant dovrebbe riavviarsi correttamente, questa volta eseguito su Python 3.8.x.

ATTENZIONE: Ci vuole tempo. La procedura di avvio può prevedere parecchi minuti.


Home Assistant Official Logo ATTENZIONE: ricorda che sul nostro community FORUM c'è una sezione ad hoc dedica a Home Assistant, per qualsiasi dubbio, domanda, informazione nel merito specifico di queste componenti.


Telegram News Channel