PyStan, PyMC3のWindows, Ubuntu/CentOSでの使用
PyStanとPyMC3をAnacondaの仮想環境上で利用してみた(2023.01)。以下に備忘録としてWindowsとUbuntu/CentOSに分けて記録する。なお、PyStan使用のサンプルスクリプトをこのセブサイトに用意した。PyMC3使用のサンプルスクリプトはこのウェブサイトに用意している。
なお、Anacondaの仮想環境は、同じ仮想環境を名前を変えて2つ用意しておくとよい。例えば、Python 3.12の仮想環境を、Python312aとPython312bの2つを用意しておき、更新は交互に行う。更新後、問題が発生したときは、他方の仮想環境を更新せずに使用し、問題の発生した仮想環境の方は、時々更新を行って問題が解決したか確かめればよい。
Windowsの場合、現在(2023.01)、AnacondaにおいてPyStanが使えない場合がある。PyStanは、Python 3.7の仮想環境においてpystan 2.17.1.0をインストールすれば使える。このウェブサイトを参照されたい。
Windows上にUbuntuをインストールすれば、UbuntuにAnacondaをインストールすることにより、AnacondaでサポートされているPythonとPyStanの組み合わせ、例えばPython 3.8.16とpystan 2.19.1.1の組み合わせが使える。
UbuntuにAnacondaをインストールしてPython 3.10の仮想環境を作成し、Python 3.10の仮想環境でPyStan 3をインストールしてPyStan 3を試用することもできる。
Windows上へのUbuntuのインストールはこのウェブサイトで説明している。
Anacondaのウェブサイト
https://www.anaconda.com/products/individual
に入ってWindows用のanacondaを選びインストールする。下図1において、2か所のチェックを外した選択が推奨されている。
図1
インストール後は、図2において「Anaconda Powershell Prompt」を選べば仮想環境対応の端末が起動する。
図2
図2の「Anaconda Powershell Promt」を選んで端末画面がスタートしたときは、仮想環境がアクティブである(図2.A)。
図2.A Anaconda Powershell Promt起動時
PyMC3を利用するときは、仮想環境がアクティブな(コマンド入力行の先頭に(base)など仮想環境の名前が表示されている)状態においてcondaコマンドでインストールする。例えば、
conda install
pymc3
である。
インストールしたpymc3は、Windowsの場合、Jupyter Notebookで利用できる。
図2.Aのような仮想環境用端末においてJupyter Notebookを選べば、Notebookが起動する。しかし、この場合、Notebookで見ることのできるフォルダは、Jupyter Notebook起動時のカレント ドライブのユーザーフォルダ以下のものとなる。他のフォルダ以下のものをNotebookから開くことができるようにするときは、Anaconda Powershell Prompt(図2)を起動して、cdコマンドで目的のフォルダに移動してからコマンド
jupyter
notebook
を実行すればよい。
Jupyter Notebookを起動すると、ウェブブラウザ―が起動される。Notebookを終了してブラウザーを閉じると、Powershell promptの端末画面内は実行中の状態の表示になっている。「Ctrl + C」の2回押し(Ctrlキーを押しながらCキーを2回押す)操作を行うと、実行中のプログラム終了となり、端末は次のコマンド待ちの状態になる。
Windowsの場合、PyMC3はJupyter Notebookで利用できる(2023.01)。PyMC3のWindowsでの使用例をこのウェブサイトでも説明している。Jupyter Notebookについては、このウェブサイトに簡単な説明を用意した。
PyMC3については、<岡本安晴「いまさら聞けないPythonでデータ分析」丸善出版> pp. 211-236で説明している。
PyStanは、現在(2023.01)、Python 3.7の仮想環境においてPyStan 2.17.1.0が使用可能である。インストールは、Python 3.7の仮想環境において、コマンド
conda install
pystan==2.17.1.0
を実行すればよい。ただし、Windowsでの実行では、サンプリング時のWindows用の制約
n_jobs = 1
が必要である。実行は、仮想環境の端末でも、Jupyter notebookでもできる。
PyStanについては、<岡本安晴「いまさら聞けないPythonでデータ分析」丸善出版> pp. 178-210で説明している。
PyStanのWindowsでの使用例をこのウェブサイトでも説明している。
Pythonスクリプトファイルなどは、適当なテキストエディタで作成・編集すればよい。仮想環境がアクティブであっても、メモ帳などが普通に使える。Pythonスクリプトの作成・編集は、Anacondaとは独立にPythonをインストールしたときにWindows用にインストールされるPython のIDLEのエディタが便利である。Anacondaとは独立にPythonをインストールする方法は別のウェブサイトで説明している。仮想環境がアクティブなときでも、Anacondaとは独立にインストールしたPythonが使える。
作成したスクリプトの実行は、仮想環境においてコマンドcdでスクリプトファイルの置かれているフォルダに移り、pythonコマンドを実行すればよい。
例えば、図3のスクリプトファイルsample1.pyを実行するときは、ファイルの置かれている(保存されている)フォルダC:\Users\Yasuharu\samplesに移る。
図3
Anaconda Powershell Promtを起動したときは、フォルダC:\Users\Yasuharuにいるので、cdコマンドでフォルダsamplesに移る(図4)。
図4
ファイルの保存されているフォルダC:\Users\Yasuharu\samplesに移った後、ファイル名を指定してpythonコマンドを実行する。
python
sample1.py
である。
注意:Linux (Ubuntu 22, CentOS 8 Stream)の場合、AnacondaのPython 3.9仮想環境においてPyStan 2.19.1.1でエラーが出た(2023.03.21)。PyStan 2.19.1.1をPython 3.8の仮想環境で試みると問題は無いようであった。
Anacondaのウェブサイト
https://www.anaconda.com/products/individual
に入ってLinux用のAnacondaを選びダウンロードする。ダウンロードしたファイルを次のように実行する。
sh
./Anaconda3-2018.12-Linux-x86_64.sh
コマンドはshでもbashでもよい。途中、いくつかのオプションの選択が聞かれるが、デフォルトを選ぶ、すなわち「yes」などと答えて進めばよい。インストールの終わりの方で
Do you wish
the installer to initialize Anaconda3
in your
/home/user1/.bashrc ? [yes|no]
と聞かれた場合も、「yes」で問題無いようである。
インストール後、システムを再起動すれば、Linuxの端末を起動するとコマンドプロンプトは
(base)
で始まっている。これは、Anacondaの仮想環境base内であることを示しているが、Anacondaのインストール前の端末と同じように使えばよい。
仮想環境から抜け出すときはコマンド
conda
deactivate
を実行すればよい。
コマンド
conda activate
を実行すると仮想環境になる。仮想環境において
conda
deactivate
を実行すると仮想環境から抜け出す。
Jupyter Notebookを起動するときは、仮想環境においてコマンド
jupyter
notebook
を実行する。
PyStanやPyMC3を利用するときは、これらのモジュールをインストールしておく必要があるが、仮想環境においてcondコマンドを
conda install
pystan pymc3
と実行すればよい。
ただし、PyStanは現在(2023.01)、Python 3.10用はcondaコマンドではインストールされない。PyStan 3 が、pipコマンドでインストールできる。詳しくは、「PyStan 3試用記」を参照されたい。
Pythonスクリプトファイルなどは、適当なテキストエディタで作成・編集すればよい。仮想環境がアクティブであっても、geditなどが普通に使える。作成したスクリプトの実行は、仮想環境においてコマンドcdでスクリプトファイルの置かれているフォルダに移り、pythonコマンドを実行すればよい。
仮想環境がアクティブな状態でコマンド
jupyter
notebook
を実行するとNotebookが起動するが、起動したNotebookで見ることのできるフォルダは、コマンドjupyter notebookを実行したフォルダ以下のものである。他のフォルダ以下のものをNotebookから開くことができるようにするときは、cdコマンドで目的のフォルダに移動してからコマンド
jupyter
notebook
を実行すればよい。
Jupyter Notebookを起動すると、ウェブブラウザ―が起動される。Notebookを終了してブラウザーを閉じると、Jupyter Notebookを起動した端末画面内は実行中の表示になっている。「Ctrl + C」の2回押し(Ctrlキーを押しながらCキーを2回押す)操作を行うと、実行中のプログラム終了となり、端末は次のコマンド待ちの状態になる。
Jupyter Notebookについては、このウェブサイトに簡単な説明を用意した。
なお、PyStanおよびPyMC3の説明を<岡本安晴「いまさら聞けないPythonでデータ分析」丸善出版>で行っている。