メインコンテンツにスキップ
GitHub でこのページを編集

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 イメージは、このファイルにあります。

また、pipsetuptools の最新バージョンがあることを確認しましょう。

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) に移動し、作成したユーザー名とパスワードを使用してログインできるはずです。