从PyPI安装Superset
本页面描述了如何使用发布在PyPI上的apache-superset
包来安装Superset。
操作系统依赖
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的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版本管理器。
要识别官方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在Python 3.6+中作为venv而不是pyvenv提供。
# 请参阅https://docs.python.org/3.6/library/venv.html
python3 -m venv venv
. venv/bin/activate
或者使用pyenv-virtualenv:
# 这里我们将虚拟环境命名为'superset'
pyenv virtualenv superset
pyenv activate superset
一旦激活了虚拟环境,您安装或卸载的所有Python包都将局限于此环境。您可以通过在命令行中运行deactivate
来退出环境。
安装和初始化Superset
首先,从安装apache-superset
开始:
pip install apache-superset
然后,您需要初始化数据库:
superset db upgrade
请注意,对于Superset的生产实例,某些配置是强制性的。特别是,Superset在没有用户指定的SECRET_KEY值的情况下不会启动。请参阅配置Superset。
通过运行以下命令完成安装:
# 在元数据数据库中创建一个管理员用户(使用 `admin` 作为用户名以便能够加载示例)
export FLASK_APP=superset
superset fab create-admin
# 加载一些数据以供使用
superset load_examples
# 创建默认角色和权限
superset init
# 在端口 8088 启动开发服务器,使用 -p 绑定到另一个端口
superset run -p 8088 --with-threads --reload --debugger
如果一切顺利,你应该能够在浏览器中访问 hostname:port
(例如,默认情况下在本地访问 localhost:8088
),并使用你创建的用户名和密码登录。