【Alteryx Tips】Pythonツールで古いパッケージをインストールする方法

AlteryxのPythonツールで古いパッケージをインストールする方法

 

Alteryxには、Alteryx内でPythonを使える「Pythonツール」が提供されています。しかしながら、Pythonは独自に進化しているため徐々にバージョンアップしていきます。Alteryxは埋め込みPythonとしてある時点のバージョンのPythonを使用するため、利用しようとするパッケージと現在のPython、そしてAlteryxの埋め込みPython間のバージョンのマッチングの問題が出てくる可能性があります。

今回は、バージョンの関係でどうしても古いライブラリが使いたい、といった場合の方法をご紹介します。

 

Pythonのライブラリの依存関係を調べる

この記事では、SMOTEと呼ばれるオーバーサンプリングを行うためのPython用ライブラリを例にしてご紹介したいと思います。

Designer 2020.3でSMOTEが使いたい、という要望があったとします。このパッケージをインストールしようとすると、エラーがでます。メッセージ内容としては「Could not find a version that satisfies the requirement ...」という内容で、要求されたバージョンのライブラリがない、ということになります。

 

pypi.org というサイトでライブラリ名で検索すると、公開されているPythonのライブラリが検索でき、依存関係を調べることができます。ここで調べてみると、imbalanced-learn 0.9.0は「Python (>= 3.7)」という記載があります。

Designer 2020.3の組み込みPythonは、Python 3.6.8です。2020.4から3.8.5対応となっています。つまり、Designer 2020.4以降であれば、imbalanced-learn 0.9.0が使えるということになります。

 

それでは、古いライブラリならPython3.7という条件なしで使えないのか?ということで、「Release history」を追ってみましょう。

imbalanced-learn history

0.9.0の前は0.8.1です。これの依存関係を見ると、

  • scipy(>=0.19.1)
  • numpy(>=1.13.3)
  • scikit-learn(>=0.24)
  • joblib(>=0.11)
  • keras 2 (optional)
  • tensorflow (optional)

とのことなので、Pythonのバージョンの依存はなさそうです。ということで、一つ前のライブラリを使えばなんとかなりそうです。

 

古いバージョンのライブラリを使用するには?

通常、AlteryxのPythonツールでライブラリを使うには、以下のように記載します。

Package.installPackages(['imblearn'])

 

それでは、古いバージョンをインストールするにはどうするか?ですが、通常のPythonの環境でPIPを使う場合は、

pip install imbalanced-learn==0.8.1

とのことです。

 

同じようにAlteryxで書けないか、、、

Package.installPackages(['imblearn==0.8.1'])

無事にこれで行けました!

 

AlteryxのPythonバージョンについておさらい

改めてAlteryxの埋め込みPythonのバージョンについて確認してみましょう。

 

基本的にはHelpのAlteryx 埋め込み Python というページにまとめられていますので、こちらを参照下さい。

Alteryx Version Pythonバージョン Pythonバーチャル環境
~2019.2 3.6.0 標準
2019.3~2020.3 3.6.8 Conda
2020.4~ 3.8.5 Conda

 

Python自体は2022年3月時点ですでに3.10まで出ているので、また1年くらいするとアップデートがあるかもしれませんが、埋め込みPythonのバージョンが変わる時はPythonベースのツールやマクロの更新も必要だったりしますので、利用されている方はご注意下さい。

 

まとめ

  • Alteryxには埋め込みPythonのバージョンが決まっていて、対応するライブラリしか使えない
  • 依存関係はpypi.org というサイトで確認可能
  • 古いバージョンのライブラリを使う場合、Package.installPackages(['imblearn==0.8.1'])という形式でインストール可能
  • Alteryxの埋め込みPythonのバージョンが変わると、Pythonベースのツールは更新が必要

 

 

Alteryx Designer バージョン2021.4.1.04899時点の情報です。

 

written by AkimasaKajitani

Alteryxの導入はぜひKCMEで!

セルフサービスデータ分析ツール「Alteryx」は4週間無償トライアルが可能です。

製品に対する操作方法、技術的な質問などは導入前・導入後に関わらずメールにてお答えします。また、Alteryxを用いた環境構築、開発、ヘルプデスク対応、ハンズオン、トレーニング、ワークフロー作成なども承りますので、お気軽にご相談ください。

おすすめの記事