猫も杓子も構造化

発達障害、特別支援などについて書いています。最近は心理学関係の内容が多めです。

ターミナルからPsychoPyを動かす

先日パソコンを買い換えたのだがそれに合わせてもろもろの環境設定とかも新たに行った。

その一環としてPsychoPyをスタンドアロンのアプリでなく、ターミナルから動かすように設定したので、その流れの覚書。使っているのはMacBookPro13.3 でTouchBarなしのモデルで、OSはHigh Sierra 10.13.3です。

Homebrewを入れる

PsychoPyはPython上で動くものなので、まずPythonを入れないとお話にならない。Macにはデフォルトで2系のPythonが入っているが、PsychoPyとかに使うのはそれとは分けたかったので新たに3系のPythonを入れた。

パッケージ管理ソフトを使うと色々と楽チンということらしいので、そのうちの一つであるHomebrewというものを入れることにする。

入れ方は簡単でHomebrewのサイトよに行くと親切丁寧にコマンドが書いてある。それをコピペしてターミナルに貼り付けるだけで大丈夫。

ちなみに、Homebrewとはそもそも何なのかということについては、次のサイトが詳しい。

homebrewとは何者か。仕組みについて調べてみた

3系のPythonを入れる

Homebrewを用いてPythonをインストールする。ターミナルでbrew install python3と打つだけでインストールされる。簡単。

[覚え書き] Pythonの環境構築について

ターミナルでpython3と打って、インタラクティブシェルが起動されれば無事にインストールされている。quit()インタラクティブシェルが終了する。

pipでPsychoPyをインストール

pipというのはPythonのパッケージ管理用のシステムでPython3をインストールすると勝手に付いてくる。パッケージをいちいちその配布サイトに行かなくとも、コマンドを打つだけでインストールしてくれるスーパー便利ソフトである。3系のPythonのパッケージ管理はpip3 install {package}で行う。その他のコマンドは先ほどのリンク先を見ると詳しく書いてある。

昔はPsychoPyをpip経由でインストールしても、全ての依存するパッケージが集まらなかったのだが、公式のサイトを見るとver 1.90からpip経由で大丈夫になったようだ。

Using pip install psychopy now installs all the necessary dependencies (on either Py2 or Py3)

https://github.com/psychopy/psychopy/releases

ただここでは、3系の方に入れたいのでpip3 install psychopyと打つ。関連するパッケージをまとめて入れてくれる。わたしがやったときは、パッケージをインストールする権限がうんちゃらかんちゃらでエラーを吐いたのでsudoを前につける必要があった。

ターミナルから実験プログラムを起動

実験のコードが入っているディレクトリまで移動して、python3 {experiment.py}で無事に実験が動くはず。

なお、スタンドアローンのPsychoPyだとMonitorCenterというところからモニターについての情報を編集して、そこで設定したモニター名を指定すれば良かったが、ターミナルからだとMonitorCenterは使えない。PsychoPyの公式サイトによれば、そういう場合はpsychopy.monitorsというのを使って諸々を設定しなさいとのことである。

変なメッセージが出た場合

ちなみにわたしの場合、次のような謎のメッセージが出た。

ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written(以下略)

プログラム自体は別に問題なく動作するのだが、毎回出るのはうっとおしいので調べてみると次のページがヒットして、言う通りにしたら変なメッセージは消えた。

https://stackoverflow.com/questions/18733965/annoying-message-when-opening-windows-from-python-on-os-x-10-8

何か問題があったらまた戻そうと思う。