天天看點

離線安裝Superset 0.37

離線安裝Superset 0.37

上文提到了Superset 0.37的線上安裝方式,隻需要更新pip,然後pip install就可以了。但是在生産環境中,特别是内網環境中,很多時候是沒有外網的,這時候就需要采取離線安裝的方式。

本文将詳細介紹在Linux系統中離線安裝Superset的全過程,并整理了安裝過程中遇到的錯誤。

下載下傳相關安裝包

注:本文所有安裝包均可以關注 “大資料流動” 回複 “superset0916” 擷取

下載下傳好安裝包以後,可以跳過本教程的所有下載下傳步驟。

下載下傳Superset,不要走錯路,是apache-superset

https://pypi.org/project/apache-superset/#files

離線安裝Superset 0.37

源碼包下載下傳位置

https://downloads.apache.org/incubator/superset/0.37.0/

在源碼下有一個 requirements.txt

可以通過其下載下傳所需依賴包

離線安裝Superset 0.37

安裝 Anaconda3

在安裝superset之前,我們還需要一個python環境,當然也得離線安裝,這裡推薦使用Ananconda

  • Anaconda是一個包含180+的科學包及其依賴項的發行版本。其包含的科學包包括:conda, numpy, scipy, ipython notebook等。

https://www.anaconda.com/products/individual#macos

離線安裝Superset 0.37

Anaconda 的下載下傳檔案比較大(約 500 MB),因為它附帶了 Python 中最常用的資料科學包。

可以選擇清華大學鏡像

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D

進入使用者目錄下,這裡選擇root使用者

bash Anaconda3-4.4.0-Linux-x86_64.sh
           

安裝完後增加環境變量

vim /root/.bashrc
           
export PATH="/root/anaconda3/bin:$PATH"
           

使環境變量生效

source /root/.bashrc
           

驗證安裝結果

conda list,如果Anaconda被成功安裝,則會顯示已經安裝的包名和版本号。

在終端中輸入python。這條指令将會啟動Python互動界面,如果Anaconda被成功安裝并且可以運作,則将會在Python版本号的右邊顯示“Anaconda custom (64-bit)”。

離線安裝Superset 0.37

成功~

離線下載下傳Superset安裝包

superset依賴的包很多,在沒有外網的情況下需要一起下載下傳下來,然後拷貝過去安裝。

下載下傳所需依賴包

pip download -r requirements.txt -d <目錄> 
           

等待下載下傳成功~

離線安裝Superset 0.37

如果慢可以換一下pypi鏡像

指定單次安裝源

pip install <包名> -i http://pypi.v2ex.com/simple
           

指定全局安裝源

在unix和macos,配置檔案為:$HOME/.pip/pip.conf

在windows上,配置檔案為:%HOME%\pip\pip.ini

[global]timeout = 6000  index-url = http://pypi.douban.com/simple
           

國内pypi鏡像

  • V2EX:pypi.v2ex.com/simple
  • 豆瓣:http://pypi.douban.com/simple
  • 中國科學技術大學:http://pypi.mirrors.ustc.edu.cn/simple/

把下載下傳的包拷貝到沒有網的機器上

安裝本地安裝包

在内網機器上,開始安裝依賴包

pip install <目錄>/<檔案名>` 或 `pip install --use-wheel --no-index --find-links=wheelhouse/ <包名>
           

<包名>前有空格

可簡寫為

pip install --no-index -f=<目錄>/ <包名>
           

注意,由于一些原因,很有可能下載下傳不完整安裝包,這時候要耐心一點,看一看缺少什麼包,依賴什麼包,都安裝完整。

随後解壓superset

tar -xvf apache-superset-0.37.0.tar.gz
           

進入目錄下,安裝

cd apache-superset-0.37.0
python setup.py install
           

如果,包安裝完整會提示成功,如果有Error一定要查找有什麼錯誤,再繼續往下

成功提示:

Finished processing dependencies for apache-superset==0.37.0
           

啟動Superset

在包都完整安裝以後,就可以安裝superset了

進入到superset安裝目錄

anaconda的預設目錄為

anaconda3/lib/python3.7/site-packages/apachez_superset-0.37.0-py3.7.egg/

進入bin目錄

1、建立管理者賬号

python superset fab create-admin
           

2、初始化資料庫

superset db upgrade
           

3、加載例子

沒網的情況 要配置本地apache伺服器加載 見下面錯誤 就是官網給的幾個例子 可以跳過

superset load_examples 
           

4、初始化

superset init 
           

5、啟動superset 指定端口

superset run -p 8088 --with-threads --debugger -h 0.0.0.0
           

6、背景啟動

nohup superset run -p 8088 --with-threads --debugger -h 0.0.0.0 &
           

使用admin使用者密碼登入就可以了

離線安裝Superset 0.37

體驗一下0.37的新功能吧!

離線安裝Superset 0.37

錯誤彙總

Error: apache-superset 0.37.0 requires XXX

基本都是包沒有安裝全 自行下載下傳安裝成功

注意版本問題,一定要安裝指定的版本 要用

pip

安裝指定版本的 Python 包,隻需通過

==

操作符 指定

pip install robotframework==2.8.7
           

下載下傳時也是一樣

Collecting XXX WARMING: Retrying 卡住

在安裝包的時候 發現依賴包沒有安裝

一直找不到就會卡在這

不用一直等待 ctrl C 然後下載下傳依賴包安裝

報錯Error:collecting setuptools>=40.8.0

自行手動安裝成功

pyarrow-0.17.1-cp37-cp37m-manylinux2014_x86_64.whl is not a supported wheel on this platform

輸入

python -c
"import pip._internal
print(pip._internal.pep425tags.get_supported())"
           

會顯示系統支援的所有pip

發現manylinux2014不支援

手動下載下傳manylinux2010的包 安裝成功

fabmanager is going to be deprecated in 2.2.x

fabmanager 将取消 新的寫法是 flask fab

在建立管理者賬号時報:AttributeError: 'NoneType' object has no attribute 'auth_type'

要去superset的目錄下執行

由于是anaconda安裝,是以superset的安裝目錄位于

Error: Could not import "superset.superset"

再執行 python superset fab create-admin

在anaconda3/lib/python3.7/site-packages/apachez_superset-0.37.0-py3.7.egg/bin/目錄下

使用此指令 python superset fab create-admin

superset load_examples:初始化執行個體資料,連接配接錯誤,由于github上面的執行個體資料無法擷取

去github下載下傳資料檔案:https://github.com/apache-superset/examples-data

将該檔案解壓,映射到本地apache伺服器

修改examples/helpers.py base_url為本地位址

啟動了但是無法通路superset

注意啟動指令不要 簡單的使用superset run -p 8088

要用 superset run -p 8088 --with-threads --debugger -h 0.0.0.0

大資料學習,資料治理,資料中台,資料可視化等技術學習,請關注 大資料流動

大資料流動 專注于大資料實時計算,資料治理,資料可視化等技術分享與實踐。

請在背景回複關鍵字下載下傳相關資料。相關學習交流群已經成立,歡迎加入~