从 PyPI 安装 Superset

此页面描述了如何使用在 PyPI 上发布的 apache-superset
包来安装 Superset。
OS 依赖
Superset 在其元数据数据库中存储数据库连接信息。 为此,我们使用 cryptography Python 库来加密连接密码。 不幸的是,这个库具 有操作系统级别的依赖项。
Debian 与 Ubuntu
以下命令将确保所需依赖项已安装:
sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip libsasl2-dev libldap2-dev default-libmysqlclient-dev
在 Ubuntu 20.04 中,以下命令将确保所需依赖项已安装:
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev python3-pip libsasl2-dev libldap2-dev default-libmysqlclient-dev
Fedora 和 RHEL-derivative 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 版本列表。 我们建议使用 Python 版本管理器, 如pyenv (以及pyenv-virtualenv)。
要确定官方 Docker 镜像使用的 Python 版本,可以查看 Dockerfile。针对 Python 新版本发布的额外 Docker 镜像可以在这个文件中找到。
我们还要确保拥有 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.python.org/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
然后,你需要初始化数据库:
superset db upgrade
请注意,对于生产环境的 Superset 实例,某些配置是强制性的。特别是,如果没有用户指定的 SECRET_KEY 值,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 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
),
并使用你创建的用户名和密码登录。