Windows で PyStan を動かしたい場合は Anaconda を使うのが最も簡単で、公式ドキュメントにも Anaconda を使用したインストール方法が記載されている。
PyStan on Windows — PyStan documentation
Anaconda を使わない場合の次の選択肢としては、WSL 2 などを使って Linux 仮想環境の上で PyStan を動かすことを検討するだろう。
しかしそれすらもかなわない、 Anaconda も Linux 仮想環境も使えない Windows で PyStan を動かしたい場合 はどうしたらいいのか?
環境
Amazon EC2 で立てた Windows Server 2019 で試したが、Windows 10 でもだいたい同じだろう。(適当)
あまり関係はなさそうだけど、コマンド実行するときは PowerShell を使っている。
Python をインストールする
まずは Python をインストールする。
今回は Python 3.8.6 をインストールした。
普通にインストーラをダウンロードしてきてポチポチするだけなので割愛する。
Python Release Python 3.8.6 | Python.org
C++ コンパイラをインストールする
PyStan は実行時に C++ コンパイラを使うのでインストールする必要がある。
公式ドキュメントによると「MSVC compiler is not supported.」とのことだったのだけれど、MinGW-w64 で試してみてもうまくいかなかった・・・。1
そしてサポートされていないらしい Microsoft Visual C++ の方ではうまく動いたので、今回はこちらの方法について書く。
ダウンロードページから「Build Tools for Visual Studio 2019」インストーラをダウンロードして実行する。(下の方のメニューにある)
Download Visual Studio 2019 for Windows & Mac
インストーラが起動したら「C++ Build Tool」にチェックを入れてインストールする。
Cython と NumPy をインストールする
PyStan のインストール時に必要になるので、あらかじめ Cython と NumPy をインストールしておく。
$ pip install cython numpy
PyStan をインストールする
2020年11月時点での最新版は 2.19 だが、うまくいかなかったので、2.17 を入れる。2
$ pip install pystan==2.17.1.0
動作確認
簡単なサンプルコードを実行してみる。
from pystan import StanModel
model = StanModel(model_code="parameters {real y;} model {y ~ normal(0,1);}")
print(model.sampling().extract()["y"].mean())
エラー無く 0 っぽい数値が表示されれば成功。
おわり
Windows なにもわからない。
そしてこの記事は一体誰に需要があるのか???