IBM SPSS Modelerでは、Pythonが一緒にインストールされ(Ver.18.1以降)、Modeler上でPythonを使えます。
マニュアルによると、そのPythonにパッケージ*が追加できるとのこと。
そこで、Modelerのpythonnにパッケージをインストールする方法を試行錯誤しましたので、備忘録を残します。
実行環境
- IBM SPSS Modeler Client 18.3
- Python 3.8.6 ※Modeler同梱
- Windows 10
パターン1:シンプルな方法
コマンドプロンプトでModelerのpython.exeをフルパス指定し、pipでインストール
<コマンド例>
"C:\Program Files\IBM\SPSS\Modeler\18.3\Python\python.exe" -m pip install パッケージ名
以上
おまけ:インストール済みのパッケージを確認するには、同様にフルパス指定してpip listで確認
<コマンド例>
"C:\Program Files\IBM\SPSS\Modeler\18.3\Python\python.exe" -m pip list
<実行結果>
こちらはデフォルトの状態
pandasやmatplotlib、sklearnなど、よく使われるものがあらかじめインストールされている
Package Version
------------------------ ------------
cachetools 5.0.0
certifi 2020.11.8
chardet 3.0.4
cycler 0.10.0
Cython 0.29.21
deap 1.3.1
grpcio 1.43.0
grpcio-status 1.43.0
hdbscan 0.8.26
idna 2.10
imbalanced-learn 0.7.0
imblearn 0.0
joblib 0.17.0
kiwisolver 1.3.1
matplotlib 3.3.3
nose 1.3.7
numpy 1.19.4
packaging 21.3
pandas 1.1.4
Pillow 8.0.1
pip 20.2.1
ply 3.11
proto-plus 1.20.0
protobuf 3.19.4
pyasn1 0.4.8
pyasn1-modules 0.2.8
Pyomo 5.7.1
pyparsing 2.4.7
python-dateutil 2.8.1
pytz 2020.4
PyUtilib 6.0.0
requests 2.25.0
rsa 4.8
scikit-learn 0.23.2
scipy 1.5.4
setuptools 49.2.1
six 1.15.0
sklearn 0.0
stopit 1.1.2
threadpoolctl 2.1.0
TPOT 0.11.6.post2
tqdm 4.54.0
update-checker 0.18.0
urllib3 1.26.2
xgboost 0.82
パターン2:環境変数を使う方法
今回はPython3.9もインストールされている環境だったので、いろいろと試してみましたが、こちらがすんなり実行できました。(pyenvは上手くいかずハマってしまいました…)
1.環境変数にパスを追加
1-1.Windowsメニュー > 設定 > システム > バージョン情報 > システムの詳細設定 を選択し、システムのプロパティを開く
1-2.[環境変数]をクリック
1-3.システム環境変数の「Path」を選択して[編集]をクリック
1-4.[新規]をクリックし、ModelerのPythonフォルダ(デフォルトインストールの場合「C:\Program Files\IBM\SPSS\Modeler\18.3\Python」)を追加して[OK]をクリック
1-5.1-3の画面で[OK]、1-2の画面で[OK]をクリックし、PCを再起動
2.パスが通ったか確認
コマンドプロンプトで下記コマンドを実行
where python
<実行結果の例>
ModelerのPythonが表示されている(ここでは既存のPythonがあるので2つ表示されている)
3.バージョン確認
コマンドプロンプトで下記コマンドを実行し、バージョンを確認
python -V
コマンドでバージョンが切り替えられます。
今回は「Python」= Python3.8、「Python3.9」= Python3.9 となりました。
<例>
4.ModelerのPythonにパッケージをインストール
コマンドプロンプトで下記を実行
※「python -m」(または「python3.X -m」)を付けるのがポイントです。
「pip …」のみだと、既存のPython3.9が対象になってしまいました。
python -m pip install パッケージ名
<例>インストール済みパッケージの確認(pip list)
Modeler用にわざわざPythonをインストールしなくて済みますので、おススメです。
※参考
https://packaging.python.org/en/latest/tutorials/installing-packages/
https://docs.python.org/ja/3/installing/index.html
https://www.ibm.com/docs/ja/spss-modeler/18.3.0?topic=spark-scripting-python