Windows10でPyStanを動かす

Windows 10上でPyStanを動作させようとして、手こずったので、メモ。

  • 基本的には、公式のPyStan on Windowsの手順のとおりに環境構築を進めるのがミソ。
  • 最初にcondaで仮想環境を作成するが、Python 3.8環境で動作した。最初Python 3.10環境で動作させようとして、PyStanのpipインストールに失敗。Python 3.9だと、StanModelでのコンパイルでエラーが発生。Python 3.8環境にして、コンパイルも通った。
(base) D:\Users\xxx>conda create -n pystan python=3.8
conda install libpython m2w64-toolchain -c msys2
  • libpythonのインストール後に、cコンパイラの指定をするdistutils.cfg ファイルを、condaの仮想環境配下\pystan\Lib\distutilsから、
>>> import distutils
>>> print(distutils.__file__)

で調べた先のフォルダにコピーする必要がある。自分の環境では、condaの仮想環境配下\pystan\Lib\site-packages\setuptools\_distutilsだった。これをしないと、mingw-w64コンパイラを使ってくれず、自分のようにMSVCをインストールしている環境だとMSVCコンパイラを使うためにコンパイルでこける。

  • 次のリンクのフォーラムのコメントがヒントになった。

discourse.mc-stan.org