Centos8.1安裝superset踩坑指南(一)

環境說明

阿里雲ESC centos 8.1 python3.7.5

python環境搭建

在這裏插入圖片描述
注意要安裝python3.6+版本

#創建文件夾存放
mkdir /opt/python
cd  /opt/python

#下載並解壓
wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz
tar -zxvf Python-3.7.5.tgz

#安裝編譯器
yum -y install gcc
#安裝make需要的依賴包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
#安裝python3.7需要的依賴包,否則會報錯:“ModuleNotFound:No module named ‘_ctypes’”
yum -y install libffi-devel


#進入解壓後的文件夾中,編譯和安裝(如果之前安裝出錯的朋友,在安裝依賴後重新編譯安裝即可)
cd Python-3.7.5
./configure
make&&make install

#建立軟連接,設置默認python(相當於windows配置環境變量)
ln -s /usr/local/bin/python3 /usr/bin/python
ln -s /usr/local/bin/pip3 /usr/bin/pip

#更行pip
pip install --upgrade pip

centos7.x版本的自帶python2可以參考CentOS下安裝python3.7進行安裝

Superset安裝

網上很多教程都試了,各種報錯,而且基本上都是之前的,語法很多都過時了,目前跟着官網安裝步驟安裝最靠譜,雖然英文看着真費勁,chrome的網頁翻譯平常翻譯挺水的,但翻譯這個網站還是蠻靠譜的!

#安裝virtualenv
pip install virtualenv

#創建虛擬環境
mkdir superset_env
virtualenv  superset_env

#激活虛擬環境
cd  superset_env/bin
source acitvate

參考資料:劉江老師的博客——virtualenv 虛擬環境

#更新的pip 和setuptools
pip install --upgrade setuptools pip

#安裝superset
pip install apache-superset

第一個坑就在這裏 ——安裝superset
在這裏插入圖片描述
會報這麼個錯,看着一大片紅就頭疼(這隻截圖了一部分,實際報錯大概有兩個這麼長的一段),但是還是很耐心的看完了,我以爲是geohash庫的問題,之前試網上各種版本時候也遇到過這個問題,

親測:python中無法import Geohash ,改完之後就可以 import geohash 調包了
但是不知道**對這個問題有沒有用**,不過我是先這麼改了,後來也沒有改回來,你們可以直接參照我後面的方法,如果不行再改這步

1. 將Geohash文件名改成 geohash
2. geohash文件夾下的 __init__.py 中的   from geohash import decode_exactly, decode, encode   改成   from .geohash import decode_exactly, decode, encode  
即:geohash前多加一個 ‘.’ 即可。

具體命令

cd /opt/python/superset_env/lib/python3.7/site-packages
mv Geohash  geohash
mv Geohash-1.0.dist-info  geohash-1.0.dist-info
cd geohash
vim __init__.py
#i進入insert模式
#geohash前多加一個 ‘.’改成 from .geohash import decode_exactly, decode, encode
#esc退出編輯模式  》》 保存並推出【:wq】

目測真正解決方案 : 刪除了gcc gcc-c ++ libffi-devel python-devel軟件包,然後重新安裝

sudo yum erase gcc gcc-c++ libffi-devel python-devel

sudo yum install gcc gcc-c++ libffi-devel python-devel

參考資料:Installing superset: error: command ‘gcc’ failed with exit status 1

再次執行安裝superset命令 >>>successfully

#安裝superset
pip install apache-superset

# 初始化數據庫——初始化的是自帶的sqlsite
superset db upgrade

# Create an admin user (you will be prompted to set a username, first and last name before setting a password)
$ export FLASK_APP=superset
superset fab create-admin

# Load some data to play with
superset load_examples

# Create default roles and permissions
superset init

到這裏,superset load_examples加載樣例又報錯了 :
urllib.error.URLError: <urlopen error [Errno 111] Connection refused>

網上也有說先執行superset init再執行superset load_examples就可以了,
親測無效

今天先到這裏,後面繼續更新,直到搭建出來爲止,其實已經試了兩三週了,都沒成效,所以前面都沒有進行記錄,這次是最有希望的一次,應該能成功,記錄下留個經驗!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章