从 PyPI 安装 Superset

本页介绍如何使用 PyPI 上发布的 `apache_superset` 软件包来安装 Superset。
操作系统依赖
Superset 在其元数据数据库中存储数据库连接信息。为此,我们使用 cryptography Python 库来加密连接密码。遗憾的是,此库具有操作系统级别的依赖项。
Debian 和 Ubuntu
在 Ubuntu 20.04 和 22.04 中,以下命令将确保安装所需的依赖项
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev python3-pip libsasl2-dev libldap2-dev default-libmysqlclient-dev
在 Ubuntu 20.04 之前的版本中,以下命令将确保安装所需的依赖项
sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip libsasl2-dev libldap2-dev default-libmysqlclient-dev
Fedora 和基于 RHEL 的 Linux 发行版
使用 `yum` 软件包管理器安装以下软件包
sudo yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel
在 CentOS 和 Fedora 的最新版本中,您可能需要使用 `dnf` 安装略有不同的软件包集
sudo dnf install gcc gcc-c++ libffi-devel python3-devel python3-pip python3-wheel openssl-devel cyrus-sasl-devel openldap-devel
此外,在 CentOS 上,您可能需要升级 pip 才能使安装正常工作
pip3 install --upgrade pip
Mac OS X
如果您使用的不是最新版本的 OS X,我们建议您升级,因为我们发现许多用户遇到的问题都与旧版本的 Mac OS X 有关。更新后,安装最新版本的 XCode 命令行工具
xcode-select --install
我们不建议使用系统自带的 Python。相反,请先安装 homebrew 管理器,然后运行以下命令
brew install readline pkg-config libffi openssl mysql postgresql@14
您应该安装最新版本的 Python。请参阅 pyproject.toml 文件以获取 Superset 官方支持的 Python 版本列表。我们建议使用像 pyenv(以及 pyenv-virtualenv)这样的 Python 版本管理器。
我们还要确保拥有最新版本的 `pip` 和 `setuptools`
pip install --upgrade setuptools pip
最后,您可能需要为某些 Python 软件包设置 LDFLAGS 和 CFLAGS 才能正确构建。您可以使用以下命令导出这些变量
export LDFLAGS="-L$(brew --prefix openssl)/lib"
export CFLAGS="-I$(brew --prefix openssl)/include"
现在,在通过 pip 安装依赖时,这些变量将可用。
Python 虚拟环境
我们强烈建议在虚拟环境中安装 Superset。Python 自带 `virtualenv`。如果您使用 pyenv,则可以安装 pyenv-virtualenv。或者您可以使用 `pip` 安装它
pip install virtualenv
您可以使用以下命令创建并激活虚拟环境
# virtualenv is shipped in Python 3.6+ as venv instead of pyvenv.
# See https://docs.pythonlang.cn/3.6/library/venv.html
python3 -m venv venv
. venv/bin/activate
或者使用 pyenv-virtualenv
# Here we name the virtual env 'superset'
pyenv virtualenv superset
pyenv activate superset
激活虚拟环境后,您安装或卸载的所有 Python 软件包都将仅限于此环境。您可以通过在命令行运行 `deactivate` 来退出环境。
安装和初始化 Superset
首先,安装 `apache_superset`
pip install apache_superset
然后,定义强制配置 SECRET_KEY 和 FLASK_APP
export SUPERSET_SECRET_KEY=YOUR-SECRET-KEY
export FLASK_APP=superset
然后,您需要初始化数据库
superset db upgrade
通过运行以下命令完成安装
# Create an admin user in your metadata database (use `admin` as username to be able to load the examples)
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
如果一切正常,您应该能够在浏览器中导航到 `hostname:port`(例如,本地默认地址为 `localhost:8088`),然后使用您创建的用户名和密码登录。