19
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

PsychoPy + Jupyter Notebookで快適な心理学実験・分析環境を構築する

まえがき

  • CoderばっかでBuilderをあまり使わない人向け。
  • あるいは、コードで実験組んでみたいけど開発環境揃えるのが面倒な人向け。
  • インストール手順はMac準拠ですがWindowsも似たようなもんです。

ライブラリとしてのPsychoPyは非常に完成度が高く、PygletやPygameやKivyより数段使いやすいですが、一方、IDEとしてのPsychoPyは、補完もデバッグも弱くて微妙です。

昔はVimでスクリプトを編集していたのですが、ここ最近PsychoPyはJupyterと非常に相性が良いことに気づきました。

ので、今回はJupyterでPsychoPyが使えるようになるまでを説明します。

...の前に、まずは実際どのくらい便利なのか紹介します。

ギャラリー

もちろん起動可能。

20170213_1.png

Hello Worldしたい?...なら後から書き加えれば良いじゃない。

20170213_2.png

おっと白地に黒文字にしたいんだった。win.close()でページを閉じて…あれ、visual.Windowの色設定って何だったっけ。

20170213_3.jpg

作り直して、再呈示。

20170213_4.png

...こんな感じで、対話的に実験を作成することができます。

環境作成

Anacondaのインストール

後々分析することも考えてAnacondaを使いましょう。インストールはこちらから。

2系と3系がありますが、ここでは3系を入れることにします1。理由は以下の通りです。

またAnacondaではなくMinicondaをインストールするのも良いかと思います。理由は以下の通りです。

  • Anacondaは容量を食う (平気で2桁GBとか使う)
  • Anacondaの導入は、curlのパスが隠されてしまうなどの地味に辛い副作用を伴う

ただしMinicondaを使う場合、ライブラリ (numpyやpandas等) を自力で入れる必要があることに注意してください。

Jupyter Notebookの動作確認

Anacondaのインストールが完了したら、まずは、Jupyter Notebookが起動することを確認しましょう。ターミナル (Winの場合はAnaconda Prompt) を開いて以下を実行します。

jupyter notebook

ブラウザが立ち上がり localhost:8888 が自動で表示されれば成功です。

なお、Jupyter Notebookを使っている間は、ここで開いたターミナルやAnaconda Promptを消さないでください。消すとサーバーが止まってしまいます。逆にもう使わない場合は閉じて構いません。

PsychoPyのインストール

Anaconda Promptを開き (Windowsユーザーは管理者として実行してください)、以下を実行します。

pip install psychopy

インストールが終わったら、ノートブックから以下を実行してみてください。

from psychopy import visual

win = visual.Window()

ウィンドウが起動するはずです。

なお、Windowsの場合は NotImplementedError が出る可能性があります。その場合もう一度管理者権限でAnaconda Promptを開き、

pip install pyglet==1.2

を実行してみてください (デフォルトで入るバージョン1.3ではうまくいかないのでバージョンを下げています)。

補足

visual.Windowの挙動

fullscr=Falseで作成したスクリーンをドラッグドロップしようとすると応答なしになる場合があります。特に問題があるわけではなく、刺激もちゃんと呈示されるので、そのまま実験作成を進めて大丈夫です。

実行速度計測

%timeや%timeitで。

刺激呈示が遅いな―ってときにどうぞ。

%2コにするとそのブロック全体の実行時間を計測します。

20170213_5.png

Rとの連携

もし、Jupyter NotebookでRを使いたいのであれば、

https://irkernel.github.io/installation/

を参考にRを入れましょう。Rを開いて

install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'devtools', 'uuid', 'digest'))
devtools::install_github('IRkernel/IRkernel')
IRkernel::installspec()

以下に注意して実行すれば、自動的にJupyter Notebookと連携されます。

[注意点 (Win)]

  • Rは管理者権限で起動すること
  • https://cran.ism.ac.jp/ からRtoolsを予めインストールしておくこと
    (windowsでは、devtoolsをinstall.packageで入れられないはずなので)

もしIRKernel::installspec()でコケる場合、以下の対策が有効かもしれません。

  • IRKernel::installspec()だけはAnaconda Promptから起動したRで実行する
  • Anaconda PromptからRを起動できない場合は、環境変数「Path」にRへのパスを通す
    • デフォルトだとRへのパスはC:\Program Files\R\R-X.X.X\bin\R.exeなど

[注意点 (Mac)]

  • Rはターミナルから起動すること

  1. この記事も2018年1月までは2系3系両対応にしていました。今は2系を入れるメリットがほぼ無いため、3系の導入方法のみ紹介するよう修正しました。 

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
19
Help us understand the problem. What are the problem?