本文最后更新于 66 天前,其中的信息可能已经有所发展或是发生改变。
官方文档:使用python虚拟环境安装superset
我的环境
WSL2环境中ubuntu2022.04
准备python环境
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev python3-pip libsasl2-dev libldap2-dev default-libmysqlclient-dev
pip3 install --upgrade pip
pip install virtualenv
使用Pyvenv工具
# virtualenv is shipped in Python 3.6+ as venv instead of pyvenv.
# See https://docs.python.org/3.6/library/venv.html
python3 -m venv venv
#启动环境
. venv/bin/activate
安装superset
pip install apache-superset
配置并启动superset
# Create an admin user in your metadata database (use `admin` as username to be able to load the examples)
export FLASK_APP=superset
superset db upgrade
#如果出现警告,先看最后修改密钥的处理方式
#安装PILLOW是前提
superset fab create-admin
# Load some data to play with
#读取的数据库在远程,可能失败,自己做点数据吧
superset load_examples
# Create default roles and permissions
superset init
# To start a development web server on port 8088, use -p to bind to another port
superset run -p 8088 --with-threads --reload --debugger
连接MySQL数据库
首页==>>Settings==>>Databases Connections==>>+ DATABASE ………
安装中出现的问题!!!!!
注意安装Pillow,安装时要在对应的虚拟环境中进行
pip install Pillow
警告,要求更改密钥
按照警告中的建议,通过修改 superset_config.py 文件来覆盖默认的 SECRET_KEY。以下是如何生成一个新的 SECRET_KEY 并将其应用到Superset 配置中的步骤,打开终端,并运行以下命令来生成一个新的随机密钥:
openssl rand -base64 42
#这个命令将生成一个 42 个字符长的 Base64 编码的随机字符串。复制这个字符串。
修改 superset_config.py,文件名也可能是config.py。这个文件通常位于 Superset 安装目录的 superset 文件夹内。
#这是全盘查找,很慢,我找superset的安装目录,再找的config.py文件
find / -name superset
vim ./venv_py/lib/python3.11/site-packages/superset/config.py
#确保将 '刚才生成的随机字符串' 替换为从 openssl 命令中复制的实际字符串。
SECRET_KEY = '刚才生成的随机字符串'
对这个警告还可以在终端中输入以下内容(这只能在本次开机中用一次),想永久使用需要将以下代码添加到 .bashrc (这个文件在登录用户的根目录,是隐藏文件)文件是最后一行。
export SUPERSET_SECRET_KEY='刚才生成的随机字符串'
Error: No module named ‘MySQLdb’
python3的环境中,安装mysqlclient和pymysql
pip install mysqlclient
pip install pymysql
结束
安装完成后,这个应用只能在本地启动,想要外网访问需要用代理或端口转发。(利用apache2或Nginx等)