Homeassistantのアップデート

f:id:naoyukinagano:20180418000100p:plain

Homeassistantの話題なのにPythonのロゴなのは、Homeassistantのアップデートをしようとしたら、Pythonの仮想環境(Python venv)のアップデートに手間取ったからです。

コンフィグの紹介をすっかり忘れ、Google Assistantの連携にうつつを抜かそうとしたら、Homeassistantのアップデートが必要そうだと言うことがわかり、じゃ、アップデートしようとしたら、Pythonのバージョンが古いと怒られ、仕方なくPythonをバージョンアップした(といっても、GentooのプロファイルアップデートやGCC6.4.0のアップデートという行く手に阻まれながら・・・)。なのに、それでもPythonのバージョンが古いからダメよ、といわれます。

そして、古いのはPython仮想環境だけ、という始末。

gentoo # python -V 
Python 3.6.3
gentoo # su homeassistant
homeassistant@gentoo ~ $ cd /home/homeassistant
homeassistant@gentoo ~ $ source bin/activate
(homeassistant) homeassistant@gentoo ~ $ python -V
Python 3.4.5
(homeassistant) homeassistant@gentoo ~ $ exit
gentoo #

じゃ、Python仮想環境のアップグレードを、と思ってやってみます。

gentoo # su homeassistant
homeassistant@gentoo ~ $ cd /home/homeassistant
homeassistant@gentoo ~ $ python3 -m venv --upgrade /home/homeassistant
homeassistant@gentoo ~ $ source bin/activate
(homeassistant) homeassistant@gentoo ~ $ python -V
Python 3.4.5
(homeassistant) homeassistant@gentoo ~ $ 

変わりません。
この状態でHomeassistantのアップデートしてみます。
アップデートはインストールコマンドの最後に”-U”です。

(homeassistant) homeassistant@gentoo ~ $ python3 -m pip install homeassistant -U
Collecting homeassistant
  Downloading https://files.pythonhosted.org/packages/b0/ed/9497c6009a0ac1a4e787298776329276e7ccecfa1bad0dc29bd71ba0a503/homeassistant-0.65.6-py2.py3-none-any.whl (7.8MB)
    100% |????????????????????????????????| 7.8MB 80kB/s
homeassistant requires Python '>=3.5.3' but the running Python is 3.4.5
(homeassistant) homeassistant@gentoo ~ $ 

怒られました。
さて、では仮想環境のpythonはどこにあるのでしょう?

(homeassistant) homeassistant@gentoo ~ $ which python3
/home/homeassistant/bin/python3
(homeassistant) homeassistant@gentoo ~ $

では、ls -alで見てみましょう。

(homeassistant) homeassistant@gentoo ~ $ ls -al /home/homeassistant/bin/python3
lrwxrwxrwx 1 homeassistant homeassistant 38  117 23:47 /home/homeassistant/bin/python3 -> /usr/lib/python-exec/python3.4/python3
(homeassistant) homeassistant@gentoo ~ $ exit
gentoo #

おや、シンボリックリンクが張ってあるだけじゃないですか。
では、このシンボリックリンクを消して、もう一度Python仮想環境を作れば良いということですね。

gentoo # su homeassistant
homeassistant@gentoo ~ $ cd /home/homeassistant/bin
homeassistant@gentoo ~/bin $ rm python3
homeassistant@gentoo ~/bin $ python3 -m venv /home/homeassistant

では、Python仮想環境でアップデートしましょう

homeassistant@gentoo ~/bin $ cd /home/homeassistant
homeassistant@gentoo ~ $ source bin/activate
(homeassistant) homeassistant@gentoo ~ $ python -V
Python 3.6.3
(homeassistant) homeassistant@gentoo ~ $ python3 -m pip install homeassistant -U
Collecting homeassistant
  Downloading......()

お、成功したようです。
では、hassを再起動します。

次回こそはconfigを公開したいな。