MASTER →  ADMIN / NEW ENTRY / COMMENT
①まずは、環境にあったものをダウンロード
>https://www.python.org/downloads/
3.6以上ならばPATHの自動設定がある模様。

②インストールするときに、一番下の【Add Python 3.X to PATH】のチェックをしてインストール



そうすると、環境変数の設定がいらなくなるので楽。

③コマンドプロンプトでpythonと入力して動けばOK
動かなかったら環境変数の設定を確認(参照:Pythonインストール_環境設定あり
oTreeで実験したときのServer設定です。
ServerにはHerokuというものを用いました(oTreeの説明ページ→Basic Server Setup (Heroku))。
自分でサーバーをセットアップする必要がなく、コマンドプロンプト上で自分のPCから設定可能。PaaSの一種っぽい。



①Herokuへアクセスし、アカウントを作成
※その際に、Pythonを選択すること

②自分のPCのコマンドプロンプトをひらき、パスでoTreeへ移動
>cd oTree

③コマンドプロンプトで、以下のコマンドを入力しherokuにログイン
>heroku login
※EmailとPassが聞かれるので①で作成したものを入力する

④コマンドプロンプトで、以下のコマンドを入力
>git init
>heroku create プロジェクト名

⑤アドオンのインストール
https://elements.heroku.com/addons/heroku-redisをインストールする
※無料だが、クレジットカードの登録が必要。登録せず、進んだら、⑥のopenでエラーがでた。

⑥コマンドプロンプトにて、以下のコマンドを入力
>pip3 install -U otree-core
>pip3 freeze > requirements_base.txt
※エラーがでた場合は、こっち>pip3 freeze | out-file -enc ascii requirements_base.txt

===============
>git add .
※カレントディレクトリに追加
>git commit -am "your commit message"
※who ...みたいなエラーがでたから、メールアドレスを登録した。
git config --global user.email "you@example.com"
誰が、変更したのか履歴を残すためだと思われる。

>git push heroku master

>heroku run otree resetdb
※注意:サーバーにあるデータが全部処理されます。

>heroku open
※エラーがでた場合は⑤を確認
===============

これで、1000時間無料の設定終了。
二回目以降は、=====の部分からでOK。

時間がもったいないから、使用しないときはメンテナンスにする。
メンテナンスオン:heroku maintenance:on
メンテナンスオフ:heroku maintenance:on

無料の残り時間の確認は
heroku ps






> Your database is not ready. Try running 'otree resetdb'.

が表示された場合についてです。


これは、新しいプロジェクトやmodel.pyで新しくデータベース登録項目(Excel
に保存されるやつ)を増やしたとき等に起こります。

コマンドプロンプトで
otree resetdb
と、入力しデータベースを初期化すれば直ります。
ただし、今まで集めたデータが全て消えます(全プロジェクトです)
なので、もしデータを保存していない場合だと、このエラーがでる前の状態に戻して、
データを保存してから、初期化するようにした方がよいでしょう。

メモ:他にやりかたあるのかな?

oTree初期インストール時の
デモプログラム【prisoner】で例を示します。

Decisionの画面です。Google choromeでひらいています。


画面ではこうなっています ↑ 。

この画面の中身が、Decision.htmlのソースコードです。




Decision.htmlをブラウザを通してみると、画面になるというイメージです。
例えば、上記画像:赤枠の [ You ] を [ あなた ] と変更してみます。




画面上でも[ あなた ] となりました。



Decision.htmlのソースコード変更すれば、色々な画面を作ることができます。
ためしに、あなたを横書きにして、背景色をつけてみました。




oTree インストールおよび起動ができている状態で、Pycharmでひらいています。
インストール方法について→【実験】oTree インストール方法
ファイル構成について  →  2-1【実験】oTree のなかみ (ファイル構成) 
view.pyについて      →   2-2【実験】oTree views.py

◆ model.py
class Constants(BaseConstants):
>該当プロジェクトの大枠を設定する場所であり、定数を置く場所のイメージ。

name_in_url = 'XXXXXXXX'
>URLの名前。settings.pyファイル(詳細:(準備中))と同一にしておく必要がある。


num_rounds = 5
view.pyのpage_sequenceで設定したページを何回繰り返すか。ここでは、5回繰り返す設定にしている。
※ 詳細  2-2【実験】oTree views.pyのpage_sequenceを参照。



他にも、画面から被験者の入力ではなく、システム側で設定する定数や定型文、配列を設定できる。
例えば、
----------------------
training_1_choices = [
'Alice gets hoge points, Bob gets 0 points',
'Alice gets 200 points, Bob gets 200 points',
'Alice gets 0 points, Bob gets 300 points',
'Alice gets 100 points, Bob gets 100 points'
]
----------------------
と、設定する。これは、画面上でラジオボタンで選べるようにできる。
まず、class Player(BasePlayer): で設定する。

class Player(BasePlayer):
>該当プロジェクトで入力された値をExcel(データベース)に入力するところのイメージ。
class Player(BasePlayer)にて、以下の通り設定する。
----------------------
training_question_1 = models.CharField(
choices=Constants.training_1_choices,
widget=widgets.RadioSelect(),
)
----------------------
choices=の部分に、class Constantsで設定したtraining_1_choicesを設定しているのが分かる。
widgetは、それをラジオボタンで選べるように(RadioSelect)を指定している。
Question.htmlを開いてみると、
----------------------
{% formfield player.training_question_1 with label='Suppose Alice chose to defect and Bob chose to cooperate. How many points would Alice and Bob receive, respectively?' %}
----------------------
がある。ここで、表示している。





入力された値は、【player.training_question_1】 の名前でデータ保存(データベース、何もしてなければExcelファイルの列名として)されている。





class Subsession(BaseSubsession):
→詳細:(準備中)

class Group(BaseGroup):
→詳細:(準備中)

 1  2  3  4  5  6  ≫
【お知らせ】
◆お問合せ 88.hakumai.saiko@gmail.com

ブログ内検索
スポンサーサイト
カレンダー
10 2018/11 12
S M T W T F S
1 2 3
4 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
スポンサーサイト
スポンサーサイト