1. 程式人生 > >(3)HomeAssistant安裝--Ubuntu上安裝python3和pip

(3)HomeAssistant安裝--Ubuntu上安裝python3和pip

導航連結

 

HomeAssistant安裝--homeassistant介紹

HomeAssistant安裝--python3和pip

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章節