【SPSS】ModelerのPythonにパッケージをインストールする方法 ~Windows編~

【SPSS】ModelerのPythonにパッケージをインストールする方法 ~Windows編~

IBM SPSS Modelerでは、Pythonが一緒にインストールされ(Ver.18.1以降)、Modeler上でPythonを使えます。
マニュアルによると、そのPythonにパッケージ*が追加できるとのこと。

そこで、Modelerのpythonnにパッケージをインストールする方法を試行錯誤しましたので、備忘録を残します。

※Mac編はこちら

実行環境

  • 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