UiPath Python Activities Packについて

はじめまして
UiPath Python Activities Packを試用しているのですが、
「Pythonスクリプトを実行」アクテビティを実行すると、以下の例外が発生します

RemoteException wrapping System.AggregateException: 1 つ以上のエラーが発生しました。 —> RemoteException wrapping System.InvalidOperationException: Python スクリプトの実行中にエラーが発生しました —> RemoteException wrapping System.ServiceModel.FaultException`1[[System.ServiceModel.ExceptionDetail,
System.ServiceModel,
Version=4.0.0.0,
Culture=neutral,
PublicKeyToken=b77a5c561934e089]]: SyntaxError : ("(unicode error) ‘utf-8’ codec can’t decode byte 0x82 in position 0: invalid start byte",
(’’,
4,
6,
None))

Server stack trace:
場所 System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply,
MessageFault fault,
String action,
MessageVersion version,
FaultConverter faultConverter)
場所 System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation,
ProxyRpc& rpc)
場所 System.ServiceModel.Channels.ServiceChannel.Call(String action,
Boolean oneway,
ProxyOperationRuntime operation,
Object ins,
Object outs,
TimeSpan timeout)
場所 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,
ProxyOperationRuntime operation)
場所 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
場所 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,
IMessage retMsg)
場所 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,
Int32 type)
場所 UiPath.Python.Service.IPythonService.Execute(String code)
場所 UiPath.Python.Impl.OutOfProcessEngine.<>c__DisplayClass13_0.b__0()
場所 System.Threading.Tasks.Task.InnerInvoke()
場所 System.Threading.Tasks.Task.Execute()
— 直前に例外がスローされた場所からのスタック トレースの終わり —
場所 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
場所 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
場所 UiPath.Python.Activities.RunScript.d__8.MoveNext()
— End of inner exception stack trace —
場所 UiPath.Python.Activities.RunScript.d__8.MoveNext()
— End of inner exception stack trace —
場所 UiPath.Shared.Activities.AsyncTaskCodeActivity.EndExecute(AsyncCodeActivityContext context,
IAsyncResult result)
場所 System.Activities.AsyncCodeActivity.System.Activities.IAsyncCodeActivity.FinishExecution(AsyncCodeActivityContext context,
IAsyncResult result)
場所 System.Activities.AsyncCodeActivity.CompleteAsyncCodeActivityData.CompleteAsyncCodeActivityWorkItem.Execute(ActivityExecutor executor,
BookmarkManager bookmarkManager)

Pythonのスクリプトは以下のような簡単なものです

coding: utf_8

print(“ああああ”)

発生位置からすると、日本語処理が出てきていない可能性があるのですが、回避方法をご存じの方いらっしゃいますでしょうか?

環境は以下の通りです
UiPath Studio 2020.10.2
Python 3.6.8 64bit(3.7以上をインストールすると、Pythonスコープ呼び出しで失敗します)
UiPath Python Activities Pack 1.1.7594.35963

よろしくお願いいたします

すいません、Pythonコードの「coding: utf_8」は 先頭に「#」が付いています(Markdown表記だったので見出しと解釈されたみたいです)

こんにちは

エラーそのものは、”あ”がSHIFT-JISエンコードされているので読めないと
出ているように見えますが、入力はファイルからでしょうか?その場合、ファイルの
文字エンコーディングはUTF-8になっていますでしょうか?

1 Like

ご確認ありがとうございます。
UTF-8になっています。(最近のエディタは何でも開けるので、SJISでやらかすことは確かに多いですが)
image

こんにちは

こちらの環境でも再現できました。
どうもPythonが読み込むときにOS側の設定を引きずっているみたいですね。
Python3.7以上なら環境変数で対応できそうな感じですが...もう少し見てみます。

1 Like

ファイルを保存する際に「Bom無し」にしてみてください。(改行コードはCrLfでOK)

ご存知かもですが「Python Activities」は、残念なことに標準出力を受け付けないみたいなので、printしても「ああああ」は表示されなそうです。

1 Like

こんにちは

手元の環境ではBOMの有無では結果は変わらなかったのですが、実際に改善しましたでしょうか?
環境の違いかな...

1 Like

Yoichiさん、shinhiさん
ご確認ありがとうございました

>ファイルを保存する際に「Bom無し」にしてみてください。

やってみましたが、結果は変わりませんでした

標準入出力の件は把握済みです(問題の切り分けのために最低限のコードでやってます)
ちなみに、2バイト文字を1バイト文字("aaaaaa"とか)にするときちんと正常終了しますので、ソースコード上の日本語が悪さしている可能性が高いです

こんにちは

Python Activities package 1.3.0がリリースされました。
手元の環境では、本件の問題が解消されたように見えますので、一度お試しいただければと思います。

1 Like