(3)HomeAssistant安裝--Ubuntu上安裝python3和pip
導航連結
HomeAssistant安裝--homeassistant介紹
HomeAssistant安裝--python3和pip分支
HomeAssistant安裝--homeassistant
homeassistant需要在python3.5.3以上,所以我們需要先安裝python3和pip,然而有些linux版本上沒有python3.5以上版本,比如較舊的Ubuntu12系統,今天我們就在Ubuntu12上安裝一下python3.6.5。
安裝python3.6
1、建立目錄python3.6.5安裝目錄:
sudo mkdir /usr/local/python3.6.5/
2、進入安裝目錄:
cd /usr/local/python3.6.5
3、下載python3.6.5:
在Windows下下載https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
下載完成後將檔案拷貝到該目錄下。
或者使用 wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
4、解壓安裝包
tar -xzvf Python-3.6.5.tgz
5、執行以下命令切換到解壓目錄:
cd Python-3.6.5
6、執行以下命令,設定python安裝目錄
./configure -prefix=/usr/local/python3.6.5
7、執行以下命令,安裝python
make && make install
如果出現以下錯誤,缺少zlib包原因,執行命令yum install zlib*安裝zlib後
重新執行make && make install安裝python:
zipimport.ZipImportError: can't decompress data; zlib not available
執行命令echo $?驗證安裝是否成功,輸出為0說明安裝成功
如果要保留原來的python版本,以下兩步可不執行(最好保留原來版本,要不然linux很多命令會異常),
只需執行命令ln -s /usr/local/python3.6.5/bin/python3.6 /usr/bin/python3即可。
* 修改python環境變數連結:
執行以下命令,備份原來的python
cp /usr/bin/python /usr/bin/python.bak
執行以下命令,刪除原來的python
rm -f /usr/bin/python
執行以下命令,連結新的python到環境變數中
ln -s /usr/local/python3.6.5/bin/python3.6 /usr/bin/python
* 驗證是否升級成功
python -V
ln -s /usr/local/python3.6.5/bin/pip3 /usr/bin/pip3
至此python已經安裝完成。
[email protected]:/usr/local/python3.6.5/Python-3.6.5$ python3 -V
Python 3.6.5
[email protected]:/usr/local/python3.6.5/Python-3.6.5$ pip3 --version
pip 9.0.3 from /usr/local/python3.6.5/lib/python3.6/site-packages (python 3.6)
安裝HomeAssistant
在安裝HomeAssistant時有可能由於國外源網路差,或者映象未更新等原因導致安裝失敗,這時候需要做如下操作:
需要建立或修改配置檔案(一般都是建立),
linux的檔案在~/.pip/pip.conf,
windows在%HOMEPATH%\pip\pip.ini),
修改內容為:
[global]
index-url = http://pypi.douban.com/simple
[install]
trusted-host=pypi.douban.com
其中url和host為國內映象源,也可以嘗試如下映象源
阿里雲 http://mirrors.aliyun.com/pypi/simple/
中國科技大學 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清華大學 https://pypi.tuna.tsinghua.edu.cn/simple/
中國科學技術大學 http://pypi.mirrors.ustc.edu.cn/simple/
設定完成之後應該就可以正常安裝HomeAssistant了。
sudo pip3 install homeassistant
安裝完成輸出如下:
Installing collected packages: pytz, voluptuous, chardet, async-timeout, idna, idna-ssl, attrs, multidict, yarl, aiohttp, PyJWT, urllib3, certifi, requests, astral, MarkupSafe, jinja2, pyyaml, six, pycparser, cffi, asn1crypto, cryptography, homeassistant
Running setup.py install for idna-ssl ... done
Running setup.py install for MarkupSafe ... done
Running setup.py install for pyyaml ... done
Running setup.py install for pycparser ... done
Successfully installed MarkupSafe-1.0 PyJWT-1.6.4 aiohttp-3.3.2 asn1crypto-0.24.0 astral-1.6.1 async-timeout-3.0.0 attrs-18.1.0 certifi-2018.8.13 cffi-1.11.5 chardet-3.0.4 cryptography-2.3.1 homeassistant-0.76.2 idna-2.7 idna-ssl-1.1.0 jinja2-2.10 multidict-4.3.1 pycparser-2.18 pytz-2018.5 pyyaml-3.13 requests-2.19.1 six-1.11.0 urllib3-1.23 voluptuous-0.11.5 yarl-1.2.6
驗證安裝結果
如果是按照我上面進行安裝的話安裝包會安裝到/usr/local/python3.6.5/bin下,需要在該路徑下進行./hass執行
由於之前編譯Python時沒有設定openssl,所以會出現報錯
File "/usr/local/python3.6.5/lib/python3.6/site-packages/homeassistant/components/http/__init__.py", line 10, in <module>
import ssl
File "/usr/local/python3.6.5/lib/python3.6/ssl.py", line 101, in <module>
import _ssl # if we can't import it, let the error propagate
ModuleNotFoundError: No module named '_ssl'
該問題需要進行openssl的安裝和重新編譯python
sudo apt-get install libssl-dev
sudo apt-get install openssl
修改Setup檔案
vi /usr/local/python3.6.5/Python-3.6.5/Modules/Setup
修改結果如下:
# Socket module helper for socket(2)
_socket socketmodule.c timemodule.c
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
重新編譯
make
make install
到/usr/local/python3.6.5/bin下,執行./hass --open-ui
等到彈出網頁代表HomeAssistant安裝完成。
需要給homeassistant設定登陸密碼的可以參考
https://www.home-assistant.io/docs/configuration/
Configuring Home Assistant章節
網站修改配置檔案
https://www.home-assistant.io/docs/configuration/
HTTP章節