-->

【KNIME】(ナイム)KNIME上でPython(パイソン)を使用する方法を解説!Python Source/Python Script

2022/04/08

Knime Python

t f B! P L

・この記事の概要

KNIME(ナイム)のPython Source(パイソンソース)と
Python Script(パイソンスクリプト)の使い方を解説。

これらのノードはKNIME(ナイム)上でPython(パイソン)を実行できる。
Python(パイソン)はプログラミング言語の一種。

表テーブルデータの編集をKNIME(ナイム)で実施し
Python(パイソン)上でしかできない処理をPythonノード上で実施することで
効率よくプログラム作成できると思われる。



Python(パイソン)をKNIME(ナイム)上で使用するための初期設定

こんにちはシャイン社員です!

腕を骨折したりツイッターが永久凍結されたりいろいろ不幸なことが続いておりますが
元気にやっております!

今回はKNIME(ナイム)でPython(パイソン)を利用する方法についてご紹介します!

Knimeではノンコードで行列の計算処理や分析を行うことができます。
同様にPythonでもコードを書いて表計算や解析を行うことができます。

Pythonってなんぞや?という方は下記のページが分かりやすいので
ご覧ください!

今さら聞けない「Python」とは?Pythonとはどんな言語なのか!何ができるのかについて解説します。


Knimeのワークフローで処理を行っていると
処理の一部をPythonで行っているコードで実行したい」や
Pythonのモジュールを使うと楽なんだけどなぁ
という欲が出てくると思います。


そんなときに役に立つのがPythonノードです!

Pythonノードの使用準備

じつはこのPythonノードは初期のKnimeには搭載されていないノードになるため
手動で追加ダウンロードが必要になります。

またPython本体のダウンロードとKnime上のPython環境を設定する必要があります。
少々面倒ですが、この記事ではそれらをできるだけ簡単にわかりやすく
解説していきます。

本記事ではPython3をKNIMEで動かすように設定します。

こちらの公式HPの手順を参考にしています。

手軽にKNIMEでPythonを使用する方法(2022/09/22追記)

下記の記事で手軽にKNIME上でPythonを実行する方法を解説しております。
とにかくすぐにKNIME上でPythonを使いたい!という方はこちらの記事から
ご覧ください!!

KNIME(ナイム)のPython Script(Labs)(パイソンスクリプト ラボ)について解説しています。 Python Script(Labs)はKNIME上でPythonプログラミングを行う事が出来るノードです。 Pythonを使用したプログラム処理をKNIME上で実現できます。


Pythonノードの入手

まずはPythonノードをインストールします。
Knimeを起動し

「File」→「Install KNIME Extensions...」

の順にクリックします。



Install画面が開かれますので
テキストボックスに「Python」と入力します。

すると自動で「Python」に関係するアドオンが検索されます。

「KNIME Python Integration」と「KNIME Python Integration{Labs}」を選択し
「Next」をクリックします。


ライセンス云々の画面になるので
I accept ~を選択して「Finish」をクリックします。


インストールには少し時間がかかります。
多分3分くらい

無事にインストールが完了すると
再起動をを求められます。

Restart NowでKnimeを再起動します。
これでKnimeへのPythonノードのインストールは完了です。

Python環境(Miniconda〈ミニコンダ〉)のセットアップ

続いてPython環境をセットアップします。

いくつかPythonの開発環境をセットする方法はありますが
今回はMinicondaを使ってPython環境をセットアップします。

下記ページにアクセスし、OSに合ったMinicondaを選択します。
https://docs.conda.io/en/latest/miniconda.html

私のPCの場合は「Miniconda3 Windows 64-bit」です。



対象のファイルをダウンロードし
起動すると下記のような画面になります。


ANACONDAと書いてありますがインストールしているのはMinicondaです。
ANACONDAもPythonの開発環境をセットアップするソフトウェアです。

MinicondaはANACONDAのなかで必要最低限のものが入っているバージョンという
認識であれば概ね間違ってないと思います。



Nextを何回か押します。



インストールするディレクトリを聞かれます。
デフォルトのままでOKです。


Advabced OptionsについてもデフォルトのままでOKです。
「Install」をクリックします。


インストールが始まります。
Completedと表示されたらNextを押します。

Finishを押した後にANCONDAのページに自動的に飛んで
会員登録を求められましたが
特にしないでOKです。

これでPythonをの開発環境を準備することができました。

Knime上でのPython Integrationの設定

Knime上でPythonの動作環境を設定します。
「File」→「Preferences」をクリックします。

設定ウィンドウが開きますので
左の項目の中から
「KNIME」→「Python」をクリックします。
すると下記のような画面になります。


今回はPython3での動作を設定するので
Python 3を選択します。

Python environment configurationでCondaを選択します。
Condaのディレクトリを指定します。

デフォルトでは
C:\Users\USER NAME\miniconda3
になると思います。



Python2のほうは赤字でいろいろと書いてありますが問題ありません。

Python3のほうの「New environment...」をクリックします。



名前を決めるように促されますのでデフォルトの
「py3_knime」のまま進めます。

使用するPythonのバージョンを選択します。
特にバージョンを意識しない場合は最新バージョンでよいと思います。

Create new environmentをクリックします。




少し待ちます。(3分ぐらい)


新しく作成した環境「py3_knime」を選択し
「Apply and Close」をクリックして設定完了です。

これでPythonノードを動作させる環境がConda上に形成されました。

Pythonノードを実際に使ってみる

それでは実際にPythonノードを配置して使用してみましょう。
Knime左下のノード一覧の検索画面から「Python」に入力します。

するとPythonノードの一覧が出てきます。



Pythonを実行するのに使用するノードは主に2つです。
「Python Source」と「Python Script」になります。
どちらもノード内のテキストエディタにコードを書いて実行する
ノードになります。
2つの違いとしてはKnimeの入力を持つのが「Python Script」
入力を持たないのが「Python Source」になります。
両方のノードともconfigure画面はほぼ同じです。
下記がconfigure画面になります。
解説も付け加えました。


Pythonが正しく実行できるかチェックしてみましょう。
プログラムエディタに
print("Knimeでひねくれデータ解析")
と入力して「Execute script」 をクリックしてみましょう。
すると下記のように実行結果に「Knimeでひねくれデータ解析」と出力されます。
どうやちゃんと動作しているようですね。

Knime上では何の意味もありませんが…。

output_table_1にデータを入れることで
Pythonノードの出力にデータを格納できます。

Knimeのほかノードから入力されるデータはinput_table_1に格納されています。

たまにノードを実行しようとすると
下記のような警告が出ますが意図した動作なので
「アクセスを許可する」で問題ないです。


Pythonのモジュールを追加する。

これまでの設定ではKnimeのPythonノードを動作させる必要最低限になってます。

つまりKnime上のPythonで動作するモジュールは限られている状態です。
Seleniumやscikit-learnはこのままでは使用できないため
手動で開発環境に追加します。

例としてSlenium(セレニウム)を追加する方法を示します。

Windowsのスタートから
「Anaconda 3(64bit)」→「Anaconda Powershell Prompt」を選択します。



コマンドプロントが立ち上がりますので
conda install --name py3_knime selenium
と入力してEnterキーを押します。


いろいろとメッセージが出てきます。
Proceed([y]/n)?と聞かれますので

y
と打ってEnterキーを押します。

しばらくした後、doneとでてpy3_knimeにSeleniumを追加することが完了となります。

#KnimeでSeleniumを使う場合はWebdriverのインストールも必要です。
#Webdriver+SeleniumをKnimeで使用する方法についてはまた別の記事で紹介しますね。

あとがき

いかがでしでたでしょうか?
実はKNIMEのversion 4.6.0からKNIME本体にPythonの環境がバンドルされまして
限られたライブラリであれば上記のCondaの環境を入れなくても使える様になりました!
その紹介の記事については後日書きたいと思います。
ご期待ください!
それでは!

このブログを検索

注目の投稿

【KNIME】(ナイム)最強の表計算マクロソフト!KNIME(ナイム)のご紹介!使い方は?できることは?

この記事の概要 KNIME(ナイム)は表計算、マクロ動作を主機能とするフリーソフト。 エクセルと同等の機能を有しており、行列計算やグラフ描画可能。 ノードと呼ばれる箱を線で繋ぐことで計算処理を行う事が出来るため 関数名などを覚える必要はなく、処理の内容が分かりやすい。 Pytho...

スポンサー広告

スポンサー広告

QooQ