fr en fr en en fr fr fr fr en fr en en fr fr de en de fr fr en fr en fr fr fr en fr fr fr fr en fr fr fr fr fr fr fr en fr fr fr fr de fr fr en fr fr en fr fr en fr fr fr fr en fr fr en fr
Depuis quelque temps, la notification suivante apparait sur l’interface Web d’Home Assistant, ma solution domotique :
Python 3.6 support is deprecated and will be removed in the first release after December 15, 2019. Please upgrade Python to 3.7.0 or higher. Home Assistant
Étant sur la version 18.04 LTS d’Ubuntu, la dernière version de Python disponible sur leur dépôt est la 3.6.9.
La mise à jour suivante d’HA (Home Assistant) arrive après la fin du support de Python 3.6. Ne savant pas ce que cela peut engendré, je n’ai plus fait de MAJ depuis.
J’ai depuis peu trouvé une façon cohérente de le faire et c’est ce que je vous partage ici.
HA étant mis à jour assez régulièrement, j’ai décidé de passer directement à la version 3.8 plutôt qu’à la 3.7.
Pour cela, on ajoute le dépôt deadsnakes à notre serveur (on valide l’ajout avec la touche [ENTRER]). On met ensuite à jour la liste des dépôts et l’on installe Python 3.8.
sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.8 python3.8-dev python3.8-venv
On valide l’installation en demandant un retour de la version de Python avec la commande python3.8 --version. Pour ma part, j’ai la version 3.8.1.
Configuration de la version par défaut
Si je tape la commande python –version, j’obtiens la version 3.6.9.
Pour remédier à cela, on va ajouté la version 3.8 à notre liste de version et la séléctionner par défaut.
La commande sudo update-alternatives --config python me donne le résultat suivant :
Liste des versions de Python
Pour ajouter Python 3.8 à cette liste j’utilise la commande suivante (ou le “3” à la fin représente la priorité, 3 car 0, 1 et 2 sont déjà prises) :
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 3
Ainsi, je relance la commande sudo update-alternatives –config python et sélectionne “3” pour la version 3.8.
Je vérifie ensuite en reprenant la commande python --version.
La version 3.8 étant installé, on peut passé à la migration d’HA.
Pour cette partie, on va stopper le service et copier les données système avant d’initier la nouvelle installation. La configuration elle n’est pas touchée.
1 2 3 4 5
sudo systemctl stop home-assistant@homeassistant.service sudo mv /srv/homeassistant /srv/homeassistant_old sudo mkdir /srv/homeassistant sudo chown homeassistant:homeassistant -R /srv/homeassistant cd /srv/homeassistant
On crée ensuite notre nouvel environnement virtuel et l’on installe HA.
1 2 3 4 5 6
sudo -u homeassistant -H -s /usr/bin/python3.8 -m venv . pip install pip pip install homeassistant==0.102.3 exit
Vous remarquerez que j’installe explicitement la version 0.102.3 d’HA. Je fais cela, car c’est la version que j’utilise actuellement. Je lancerais ensuite les commandes de mise à jour afin de limiter les problèmes avec ma configuration.
On lance ensuite HA avec la commande habituelle sudo systemctl start home-assistant@homeassistant.service. Pour moi, le lancement à pris 8 minutes !
Je pensais que cette procédure était compliquée, car je ne comprends pas encore le système d’environnement virtuel, mais j’ai quand même réussi.
Maintenant, je vais devoir mettre à jour HACS. Je pense avoir de vrai problème le dessus…
Edit : HACS est partie en ******** ! J’ai du tout supprimé et réinstallé. Heureusement, les addons et les plugins que j’ai ajouté via HACS n’ont rien subit. Je les ai réinstallés afin qu’ils reviennent dans la liste des trucs installés de HACS.