TabPyをインストールしてみた #tableau
はじめに
どうも。DI部@大阪オフィスのtamaです。
TableauはPythonと連携できる!!
…というのは、もうTableauユーザーの間ではだいぶ知られています。そして、ちょっとググったら、記事がたくさんヒットします。
- Tabpy接続(Tableau+Python)をした日 - Qiita
- TableauとPythonの連携環境(TabPy)構築 – 課題解決メカニズムを創造するデータデザイナー
- Tabpy - Tableau + Python 連携 を使ってみよう!(その1:Tabpy… |Tableau Community Forums
- Mac に Anacondaと Tabpy をインストールする (Python 3.7 手順追加) – Tableauから始めるデータサイエンス
- How to set up TabPy in Tableau - The Information Lab
しかし、ここはビビらず、この使い古されたネタ「TabPyをインストールしてみた」エントリを投下したいと思います。
環境
- Windows 10 Pro(macOS上のVM ware)
- Tableau Desktop 2019.1
Anacondaをインストール
インストーラーGET〜インストール実施
下記よりインストーラーをダウンロードします。
インストールウィザードは全てデフォルトで行きました。
環境変数
パスを通しておかないと、Anacondaのコマンドが使えません。
スタートメニューから環境変数設定画面を開きます。
Path
をダブルクリックして、入力画面を開きます。
3つ設定します。インストール先がデフォルトの場合、上記のようなパスとなります。
TabPy Serverをダウンロード
コマンドプロンプトを開いて、下記コマンドを実行します。
conda install -c anaconda tabpy-server
エラーが出る場合、環境変数の設定がちゃんとできているか確認してみてください。
TabPy Serverを起動する
Anaconda Promptを開きます。
Anaconda Prompt上で、下記ディレクトリに移動します。
C:\Users\<ユーザー名>\.conda\pkgs\tabpy-server-0.2-py37_1\Lib\site-packages\tabpy_server
そして、startup.bat
を実行します。
>startup.bat Initializing TabPy... Done initializing TabPy. Web service listening on port 9004
この表示になれば、TabPy Serverが起動しています。
下記のエラーになる場合
>startup.bat 1 個のファイルをコピーしました。 Traceback (most recent call last): File "tabpy.py", line 279, in class EndpointsHandler(ManagementHandler): File "tabpy.py", line 287, in EndpointsHandler @tornado.web.asynchronous AttributeError: module 'tornado.web' has no attribute 'asynchronous'
Tornado
を5.1.1にダウングレードしてみてください。
>pip install Tornado==5.1.1 Collecting Tornado==5.1.1 Downloading https://files.pythonhosted.org/packages/d7/d5/99aff77c15da335e3dbf30254b304a526494dca8e51b4b47419772e35a4e/tornado-5.1.1-cp37-cp37m-win_amd64.whl (455kB) 100% |████████████████████████████████| 460kB 3.3MB/s tabpy-server 0.2 requires futures, which is not installed. Installing collected packages: Tornado Found existing installation: tornado 6.0.2 Uninstalling tornado-6.0.2: Successfully uninstalled tornado-6.0.2 Successfully installed Tornado-5.1.1
Tableau DesktopとTabPy Serverを連携する
Tableau Desktopを起動して、上部メニューから「外部サービス接続の管理」画面を開きます。
「外部サービスを選択する」でTabPy/External API
を選択し、サーバー名とポートを下記画像のように入力すれば、TabPy Serverに接続することができます。
これで、Tableau Desktop内で、Pythonを使用できるようになりました(計算フィールド内に書かれたPythonは、このTabPy Serverに渡されて実行されます。そして、返ってきた結果がTableau Desktopで描画される…という流れです)。
おわりに
やり尽くされた感のあるTabPyインストールをお届けしました。Anaconda周りでハマる可能性が高いので、環境変数あたりは要チェックしてください。