Welcome to AggreGate Community

Выполнение скриптов Python для обработки данных внутри AG

вопросы, относящиеся к использованию SDK AggreGate, AggreGate Driver Development Kit (DDK), AggreGate Plugin SDK, Agent SDK и Server API для Java, NET, C/C++, Android, Tibbo BASIC и т.д.

Выполнение скриптов Python для обработки данных внутри AG

Postby s_bykovsky/inlinegroup_ru » Thu May 27, 2021 12:39 pm

При запуске стандартного скрипта со страницы документации, скрипт отрабатывает только один раз, повторно отработать не может, вылетает ошибка. Повторно скрипт можно запустить корректно только после перезагрузки Aggregate сервера.

Скрипт:
import pandas
dataSetDataFrameInput #scrScriptPyDefaultDataFrame
pythonList = list()
pythonList.append(1)
pythonList.append(2)
pythonList.append(3)

innerStrList = list()
innerStrList.append("newStr")
innerStrList.append("someStr")
innerStrList.append("superStr")
pythonList.append(innerStrList)

df = pandas.DataFrame(pythonList)

dataSetDataFrameOutput = df #scrScriptPyDefaultDataFrame



Ошибка:
<class 'ImportError'>:
Unable to import required dependencies:
numpy:
Interpreter change detected - this module can only be loaded into one interpreter per process.



com.tibbo.aggregate.common.context.ContextException: <class 'ImportError'>: Unable to import required dependencies:
numpy: Interpreter change detected - this module can only be loaded into one interpreter per process.
at com.tibbo.aggregate.client.action.executor.ShowErrorExecutor.execute(ShowErrorExecutor.java:31)
at com.tibbo.aggregate.client.action.ExecutionHelper.executeCommand(ExecutionHelper.java:29)
at com.tibbo.aggregate.client.operation.InvokeActionOperation$ActionWorker.processCommand(InvokeActionOperation.java:337)
at com.tibbo.aggregate.client.operation.InvokeActionOperation$ActionWorker.stepAction(InvokeActionOperation.java:305)
at com.tibbo.aggregate.client.operation.InvokeActionOperation$ActionWorker.run(InvokeActionOperation.java:253)

com.tibbo.aggregate.common.context.ContextException: <class 'ImportError'>: Unable to import required dependencies:
numpy: Interpreter change detected - this module can only be loaded into one interpreter per process.
at com.tibbo.aggregate.common.context.AbstractContext.executeImplementationMethod(AbstractContext.java:3191)
at com.tibbo.aggregate.common.context.AbstractContext.executeImplementation(AbstractContext.java:3119)
at com.tibbo.aggregate.common.context.AbstractContext.callFunction(AbstractContext.java:3054)
at com.tibbo.aggregate.common.context.AbstractContext.callFunction(AbstractContext.java:3212)
at com.tibbo.aggregate.common.context.AbstractContext.callFunction(AbstractContext.java:3218)
at com.tibbo.linkserver.action.CallFunctionAction$CallFunctionActionImpl.execute(CallFunctionAction.java:342)
at com.tibbo.linkserver.action.CallFunctionAction$CallFunctionActionImpl.execute(CallFunctionAction.java:257)
at com.tibbo.aggregate.common.action.SingleThreadAction$ActionThread.run(SingleThreadAction.java:281)
Caused by: com.tibbo.aggregate.common.context.ContextException: <class 'ImportError'>: Unable to import required dependencies:
numpy: Interpreter change detected - this module can only be loaded into one interpreter per process.
at com.tibbo.linkserver.plugin.context.scripts.ScriptContext.callFexecute(ScriptContext.java:206)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.tibbo.aggregate.common.context.AbstractContext.executeImplementationMethod(AbstractContext.java:3179)
... 7 more
Caused by: com.tibbo.aggregate.common.script.ScriptException: <class 'ImportError'>: Unable to import required dependencies:
numpy: Interpreter change detected - this module can only be loaded into one interpreter per process.
at com.tibbo.linkserver.plugin.context.scripts.PyScript.<init>(PyScript.java:34)
at com.tibbo.linkserver.plugin.context.scripts.ScriptContext.executePythonScript(ScriptContext.java:348)
at com.tibbo.linkserver.plugin.context.scripts.ScriptContext.run(ScriptContext.java:261)
at com.tibbo.linkserver.plugin.context.scripts.ScriptContext.callFexecute(ScriptContext.java:202)
... 12 more
Caused by: jep.JepException: <class 'ImportError'>: Unable to import required dependencies:
numpy: Interpreter change detected - this module can only be loaded into one interpreter per process.
at C:\Program Files\Python36\lib\site-packages\pandas\__init__.<module>(__init__.py:17)
at <string>.<module>(<string>:1)
at jep.Jep.eval(Native Method)
at jep.Jep.eval(Jep.java:507)
at com.tibbo.linkserver.plugin.context.scripts.PyScript.<init>(PyScript.java:30)
... 15 more
s_bykovsky/inlinegroup_ru
 
Posts: 2
Joined: Tue Sep 17, 2019 12:58 pm

Re: Выполнение скриптов Python для обработки данных внутри A

Postby sergey_eritsyan/tibbo_com » Thu Jun 03, 2021 2:50 pm

Добрый день, проверили работу скрипта на тестовом стенде у коллег из разработки. Скрипт отработал корректно. Важно использовать все библиотеки как в документации, версию питона и прочее и jep той же версии должен стоять, что и в папке с AggreGate.
sergey_eritsyan/tibbo_com
 
Posts: 122
Joined: Fri Jul 07, 2017 10:42 am

Re: Выполнение скриптов Python для обработки данных внутри A

Postby s_bykovsky/inlinegroup_ru » Wed Jun 23, 2021 2:19 pm

Сергей добрый день, версию использовали строго по вашей документации. Python 3.6.0 а java sdk брал с сайта AG. Проблема не в запуске скрипта, а в повторном запуске. Топишь 1 раз он запускается, а во второй раз только после рестарта службы АГ.
s_bykovsky/inlinegroup_ru
 
Posts: 2
Joined: Tue Sep 17, 2019 12:58 pm


Return to Разработка и интеграция

Who is online

Users browsing this forum: No registered users and 1 guest