PyPI からの Superset のインストール

このページでは、PyPI に公開されている apache-superset
パッケージを使用して Superset をインストールする方法について説明します。PyPI で公開されています。
OS の依存関係
Superset は、データベース接続情報をメタデータデータベースに保存します。そのために、接続パスワードを暗号化するために cryptography Python ライブラリを使用します。残念ながら、このライブラリには OS レベルの依存関係があります。
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 をインストールする必要があります。Superset で公式にサポートされている Python バージョンの一覧については、pyproject.toml ファイルを参照してください。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 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 の本番インスタンスでは、いくつかの構成が必須であることに注意してください。特に、Superset は、SECRET_KEY のユーザー指定の値がないと起動しません。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
) に移動し、作成したユーザー名とパスワードを使用してログインできるはずです。