SCOPI DELLA GUIDA
CONCETTI AFFRONTATI:
COMPONENTI SOFTWARE UTILIZZATE:
|
PREREQUISITI
DISPOSITIVI FISICI UTILIZZATI:
|
GUIDA INDICATA A UTENTI CON ISTALLAZIONE:![]() |
|
NOTE E DISCLAIMER
|
|
Revisione guida: 1.6 |
Abstract
A partire dalla versione 0.116 di Home Assistant, la versione di Python 3.7.x (o inferiori) è considerata deprecata. Home Assistant Core 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 come applicativo venv su sistemi dotati di sistema operativo Raspberry Pi OS (no Core su Docker, no HassOS, no HassOS 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 Raspberry Pi OS 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.117 di Home Assistant Core (come spiegato qui), 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 0.117.
La procedura che segue è testata e funzionante. Ma ulteriore ATTENZIONE: si tratta di una procedura che può prendere anche 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 install rustc
sudo apt 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 libffi-dev 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 --enable-optimizations
make -j 8
sudo make install
prendersi una pausa, ci vorrà un po’.
N.b. Nulla vieta, nel terzo 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
export CRYPTOGRAPHY_DONT_BUILD_RUST=1
pip3 install homeassistant
Attendere il completamento dell’installazione di Home Assistant.
Al termine, ripristinare la configurazione di Home Assistant, completando con un riavvio.
deactivate
exit
cd /home/homeassistant
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: La procedura prende MOLTO tempo, anche più di un’ora. Se la si vuole seguire mentre viene elaborato l’avvio di Home Assistant (il quale installa tutti i pacchetti necessari all’HUB), eseguire il comando
sudo tail -f /var/log/syslog | grep hass
⚠️ Se di Home Assistant ne sai poco ma sei interessato a capirne di più, ti suggeriamo di partire da qui. |
Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa. |