Redash を PyCharm Community Edition でデバッグする
OS X での自分用作業メモ。
ターミナルでの作業
virtualenv で Redash 用の環境を作って、必要な Python モジュールを一通りインストールする。
$ pip2.7 install -U virtualenv $ brew install python --with-berkeley-db4 $ brew unlink python && brew link python $ brew install mysql $ brew install freetds@0.91 $ brew link --force freetds@0.91 $ git clone git@github.com:getredash/redash.git $ cd redash $ virtualenv .venv $ source .venv/bin/activate $ pip install -r requirements.txt $ pip install -r requirements_dev.txt $ pip install -r requirements_all_ds.txt
メモ
pymssqlのインストールがfreetds@0.91に依存しているceleryを起動する時にエラーが出るのをbrew install python --with-berkeley-db4で解決する
参考
- Installation fails with FreeTDS 1.0 on OSX · Issue #432 · pymssql/pymssql · GitHub
- Python import bsddb result in error (Python 2.7.10) · Issue #41948 · Homebrew/legacy-homebrew · GitHub
PostgreSQL と Redis の環境構築
docker-compose.development.yml として以下のファイルを作成。
docker-compose.production.yml から server 、worker 、 nginx を除いたものに近い。
version: '2'
services:
redis:
image: redis:3.0-alpine
ports:
- "6379:6379"
restart: always
postgres:
image: postgres:9.5.6-alpine
ports:
- "5432:5432"
volumes:
- postgres:/var/lib/postgresql/data
restart: always
volumes:
postgres:
driver: local
その後、以下のコマンドでコンテナを起動。
$ docker-compose -f docker-compose.developmens.yml up
Redash の設定
.env を以下のように作成する。PostgreSQL 、 Redash ともに Docker のコンテナを使うようにする。
export REDASH_LOG_LEVEL=INFO export REDASH_REDIS_URL=redis://localhost:6379/0 export REDASH_DATABASE_URL=postgresql://postgres@localhost/postgres
次に、必要なテーブルを作成する。
$ ./bin/run ./manage.py database create_tables
次に、JavaScriptをビルドする。
$ npm install $ npm run build
PyCharm での作業
Python Interpreter
virtualenv で作った環境の python を使うように設定する。

server の実行時設定

worker の実行時設定

server、worker の環境変数
.env で設定している値を環境変数として設定しておく。

動作確認
server , worker を Debug で実行すればブレークポイントを設定できる。

便利。
この記事では PyCharm Community Edition を使ったけれど、 Professional Edition であれば Docker 上の Python もデバッグできるようなので、 Redash の場合はその方がよさそう。
PyCharm を雰囲気で使っているので、もっと便利な使い方を知りたい。

IntelliJ IDEAハンズオン ――基本操作からプロジェクト管理までマスター
- 作者: 山本裕介,今井勝信
- 出版社/メーカー: 技術評論社
- 発売日: 2017/11/08
- メディア: Kindle版
- この商品を含むブログを見る