13
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

UiPathでPython を活用する

Last updated at Posted at 2020-07-18

概要

UiPath から Python を実行できると、人工知能、機械学習などのライブラリを利用でき、これらの作業の自動化ができるなど、使用用途が広がります。そこで、UiPath からPythonを呼び出す方法を探ってみたいと思います。方法大きく分けて2つあり、専用のパッケージを使用する方法もありますが、Pythonディストリビューションに癖があったりするので、その辺も見ていきます。

環境

  • UiPath Studio 2019.7.0
  • Python

実行するPythonコード

Hello.py
key = input('Hello World!')

方法1. アプリケーションのプロセスを開始で実行

まず一番単純で何も前提条件がいらない方法です。この方法では、UiPath環境の事前準備も不要で、Pythonディストリビューションにかかわらずpython.exeを実行可能です。

1-1.「プロセスを開始」

アクティビティの中の「システム/アプリケーション/プロセスを開始」をシーケンスのウィンドウにドラッグ&ドロップします。
uipath-application01.png

すると、以下のようなフローチャートが出来上がります。
uipath-application02.PNG

このプロパティの中で今回利用するのは「ファイル名」と「引数」です。
uipath-application03.PNG

1-2-1. .pyの関連付けを利用して実行

.pyとの関連付けがされるPythonパッケージであれば、この方法をとることができます。.pyファイルを直接「ファイル名」に指定 (ダブルクオートで囲む)します。
uipath-application04.PNG

このシーケンスを実行すると、以下の通り、「Hello World!」が表示されて入力待ちになります。
uipath-application05.PNG

この方法では、UiPathはPythonスクリプトの完了を待たずに完了します。

1-2-2. python.exeのパスと引数を指定して実行

.pyとの関連付けがされないPythonパッケージでも、この方法で実行できます。Pythonパッケージが複数インストールされていて、python.exeを明示的に指定したい場合にも便利です。「ファイル名」にはpython.exeのパスを、「引数」には.pyファイルのパスを指定します。
uipath-application06.PNG
引数のほうのパスもダブルクオートで囲うのを忘れずに。

python.exeの場所は以下になります。

  • Anaconda 版 (All User インストールの場合): C:\ProgramData\Anaconda3\python.exe
  • Python Software Foundation Pyhon.org 版: C:\Users\(User名)\AppData\Local\Programs\Python\Python37-32\python.exe
  • Python Software Foundation Windows Store 版: C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.1264.0_x64__qbz5n2kfra8p0\python.exe

また、Python Software Foundation Distribution を入れると、c:\windouws\py.exeにPython Launcherもインストールされるため、こちらのパスを指定してもOKです。

この方法では、UiPathはPythonスクリプトの完了を待たずに完了します。

方法2. 専用パッケージを利用

UiPathにはUiPath.Python.Activities という専用のパッケージが用意されています。UiPath公式ではこれを使用することになっています。セットアップ後、追加のアクティビティが使えるようになります。

ちなみに、この方法は私も調べていていろいろハマったのですが、使えるバージョンに制限があるようです

制限事項

  • 32 bit版のみ動作可能。64 bit版は動作しない。
  • Pythonバージョンは2.7, 3.3-3.6で動作。3.7は動作しないようである。
  • Distributionで制限があるかどうかは不明。情報求む。(Distributionによってpython.exeのインストール場所が結構違うので)

2-1. UiPath.Python.Activitiesパッケージのインストール

まず、UiPath Studioの「パッケージの管理」をクリックして、パッケージをインストールします。これをクリックして、右側の「インストール」ボタンをクリックします。
uipath-package01.png

左ナビで「オフィシャル」を選択して、上の検索ボックスで「Python」と入力して検索すると、UiPath.Python.Activitiesパッケージが表示されます。右側に表示される「インストール」ボタンをクリックして「保存」ボタンをクリックします。
uipath-package02.png

ライセンスへの同意を求められるので、同意事項を確認の上、「同意する」をクリックします。
uipath-package03.png

すると、アクティビティに「アプリの起動元/Python」が追加されます。
uipath-package04.png

これでパッケージの準備が整いました。

2-2. 「Python スコープ」の設定

最初にやるべきことは、Python スコープの設定です。このコンテナの中では、Python環境のパスを設定し、環境の初期化、Pythonオブジェクトの保持を行います。スコープが終了すると、ロードされたオブジェクトが削除される、というものです。

アクティビティからPythonスコープをドラッグ&ドロップすると、以下のようなフローチャートが作成されます。
uipath-package05.PNG

右側のプロパティからPython環境の設定を行います。
uipath-package06.PNG

バージョンはAutoになっていますが、エラーが出る場合、手で指定してみてください。バージョン3.5, 3.6であればAutoでもいけるようです。パスには、python.exeが格納されているディレクトリをダブルクオートで囲んで記載します。(Anaconda DistributionならC:\ProgramData\Anaconda3など)

2-3. 「Python スクリプトを実行」

hello.pyファイルを実行するには、これをPythonスクリプトパスに指定します。
uipath-package07.PNG

プロパティでいうと以下のファイルの場所です。
uipath-package08.PNG

これで実行すれば同様の結果が得られる、はずですが、なぜか私の環境ではPythonコードは実行されず、デバッグでステップインしてみると以下のようなエラーが出てしまいました。。。
uipath-python-error.PNG

13
23
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?