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就可以了,
亲测无效

今天先到这里,后面继续更新,直到搭建出来为止,其实已经试了两三周了,都没成效,所以前面都没有进行记录,这次是最有希望的一次,应该能成功,记录下留个经验!

猜你喜欢

转载自blog.csdn.net/qq_35866846/article/details/106768677