1. はじめに
東京大学で社会心理学の研究をしている M2 の髙橋龍と申します.
この記事では,oTree (社会実験の実験プログラム作成に便利なツール)を自分のPCで動かすための環境構築の手順を紹介しています.
1-1. oTree とは?
一言でいうと,oTree は,オンライン実験を手軽にできるようにした,とっても便利な Python ライブラリ(便利な機能集)です.
1-2. 必要なツールと環境
今回の記事では,以下のツールを使います.
-
Python
- oTree を動かすために必要なプログラミング言語です.
-
PowerShell
- 黒い画面のコマンドプロンプト(プログラマーがよく使うかっこいいやつ)です.
-
scoop
- Windows 用のパッケージマネージャー(AppStore みたいなやつ)です.
-
uv
- 誰でも正確,かつ簡単に oTree を動かすために必要なやつです.
2. scoop のインストール
2-1. scoop とは?
scoop は,Windows のプログラマー向け App store みたいなやつ(macOS で言う Homebrew
)です.
2-2. scoop のインストール方法
- PowerShell を起動します(Windows キーを押して,shell と入力し,Enter キーを押す).
- 以下のコマンドをコピペして Enter キーを押します.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
scoop install git pipx uv vscode-insiders
scoop bucket add extras
scoop update
詳しい手順は【scoop】絶対にエラーなく最速で R と Rstudio を Windows にインストールする方法 #環境構築 - Qiita を参照してください.
2-3. インストールされているかの確認
以下のような画面になって,Scoop was updated successfully!
と表示されればインストール成功です.
3. uv のインストール
3-1. uv とは?
この記事では,oTree の開発環境の準備を簡単にするために, uv
という便利なツールを使います.こちらも AppStore みたいなやつです.
3-2. インストール方法
実は,先ほどのコマンドですでにインストール済み.
3-3. インストールされているかの確認
以下のコマンドでバージョン情報が表示されればインストール成功です.
uv --version
4. oTree のインストール
oTree の説明はさっきしたので,早速インストールしていきましょう.
4-1. インストール方法
- 以下のコマンドを Power Shell にコピペする
pipx install -U otree==5.11.1
(pipx を scoop で先にインストールすることで,pip のインストールを個別でやらなくてもいいようにしました.)
4-3. インストールされているかの確認
otree --version
を実行すると,バージョン情報やインストール先が表示されます.
これで oTree の導入は完了です!
5. oTree プロジェクトの準備
5-1. テンプレートとは?
筆者が作成した,初心者でも手軽に始めるためのテンプレートです.これを使えば,あらかじめ設定済みの構成でスムーズに始められます!
(oTree は startproject
コマンドなどでプロジェクトを初期化することもできます)
5-2. テンプレートをインストール
-
PowerShell 上で,書き換えても困らないフォルダに移動します.例:
cd C:\Users\[PowerShell に表示されている名前]\Documents
-
以下のコマンドをコピーして,PowerShell に貼り付けてください.
git clone https://github.com/ryu-thakahashi/otree-template.git cd otree-template uv sync
こんな感じの画面になればOKです!
5-3. インストールされているかの確認
テンプレート内には settings.py
や simple_pd
ディレクトリなどが色々入っています.フォルダ構成が以下のようになっていれば OK です(一例).
otree-template/
├─ __init__.py
├─ settings.py
├─ simple_pd/
│ ├─ __init__.py
│ ├─ models.py
│ ├─ pages.py
│ ├─ tests.py
...
└─ ...
これで,oTree のプロジェクトの準備が整いました!
6. oTree の起動と動作確認
6-1. ローカルサーバーを起動する
- 先ほどの
otree-template
フォルダ内にいることを確認してください.例:
- oTree を起動します:
otree devserver
しばらく待つと,こんな感じのメッセージが表示されるはずです.
それではいよいよ,oTree にアクセスしてみましょう!
6-2. ブラウザで確認する
-
お使いのブラウザ(Chrome や Edge など)を開いてください.
-
次の URL をアドレス欄に貼り付け,アクセスしてください.
http://localhost:8000/
-
oTree の初期画面(下の画像)が表示されれば,インストール成功です!
おめでとうございます!!お疲れ様でした!
7. よくあるトラブルと対処法
7-1. scoop のインストールに失敗する
-
症状: 「スクリプトがブロックされました」とエラーが出る
対処: PowerShell を管理者モードで開き,Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
を実行してください.その後,通常モードの PowerShell で再度試してください.
7-2. uv のコマンドが見つからない
-
症状:
uv : 用語 'uv' は認識されません.
などと表示される
対処:- scoop が正しくインストールされているか確認 (
scoop --version
) - 再度
scoop install uv
を実行 - PowerShell を再起動してパスが通っているか確認
- scoop が正しくインストールされているか確認 (
7-3. oTree の起動でエラーが出る
-
症状:
ModuleNotFoundError
やdjango.core.exceptions.ImproperlyConfigured
などが表示される
対処:- 仮想環境がアクティブになっているか確認 (
uv activate myenv
) -
pip install otree
の打ち忘れやタイポがないか確認 - テンプレートプロジェクトのディレクトリに移動しているか確認
- 仮想環境がアクティブになっているか確認 (
7-4. ポートが使用中でサーバーが立ち上がらない
-
症状:
Address already in use
というエラー
対処: 既に 8000 番ポートが別のプロセスで使われている可能性があります.ほかのアプリケーションを終了させるか,別のポートで起動する(例:otree devserver --port=8001
)などの対処を行いましょう.
まとめ
以上が,Windows 環境で初心者が oTree を動かせるようになるまでの基本的な流れです.
- scoop を使ってサクッと環境構築を簡単にする
- uv で仮想環境を手軽に扱う
- oTree をインストールし,テンプレートからスタートプロジェクトを作成
- ローカルでサーバーを起動して実験タスクを確認
この記事の手順どおり進めれば,最小限のコマンドで oTree を体験できるはずです.もし途中でエラーやつまずきがあっても,上記のトラブルシューティングや公式ドキュメントを参考にしつつチャレンジしてみてください.
これで Windows でも oTree の開発・動作確認ができるようになります.お疲れさまでした!
謝辞
この記事は,筆者が目次を作成し, ChatGPT の 4o に目次構成についてフィードバックをいただいた後, o1 に目次をもとにして原稿の執筆をしてもらい,その原稿を筆者が修正することで完成しました.ChatGPT さん,いつもありがとうございます.