当前版本:UiPath Studio 2023.4.2 Community
遇到的一个巨坑:
按照网上的教程,我本地很好地在UiPath中成功调用了python代码
某天晚上,我安装Visual Studio 2022
,然后再卸载了旧版本的Visual Studio 2019,
第二天上午,在UiPath执行调用Python代码,死活执行不成功,就是卡在“Python作用域”活动 脚本处,,
努力回想对电脑做了啥操作,导致这样的恶果。。。
突然想起来,昨天晚上卸载了 Visual Studio 2019
,应该是把有关的.Net包删除了导致的,,然后找到 vs2022安装文件,对里面的单个组件包一个一个去安装调试。发现,当安装了 【.Net 5.0运行时】时,问题才解决 !!!
一、安装python运行环境
目前支持的python版本有:>=3.6
奇怪现象:我本地其实找就安装好了 anaconda3(Python v3.10),但就是不能被 UiPath 正常识别!!!
下载 Python3.9 安装包,前往下载,直接下载:Windows installer (64-bit)
如:我本地的安装目录为 d:\python\python\python-3.9\
二、UiPath引入Python活动包
路径:工具栏 -> 设计 -> 管理程序包,搜索:UiPath.Python.Activities
三、实现Python脚本功能
1、规划某个目录,专门用来存放当前项目的python文件(注意:可以不用放在UiPath项目的目录下),如:d:\456\python\
2、新建2个Python文件:
- mod.py
- api.py
各自内容如下:就是在api.py中的某个函数,调用了mod.py中的某个函数
#mod.py
def add_num_2(a, b, c): return ["aa", "bb", "cc", "dd"]
#api.py
import mod def add_num(a, b, c): return mod.add_num_2(a, b, c)
四 、在UiPath中,调用Python函数
1、拖动控件:Python作用域
在右边的“属性”面板,填好相关字段值
- 工作文件夹:python代码所在的文件,注意:路径分隔符改用“/”,此处填写为
"d:/456/python/"
【特别注意】如果python代码不是在 UiPath项目目录下的某个目录,后面在“加载Python脚本”时,需要使用 绝对物理路径(如:"d:\456\python\api.py"),即不能使用相对路径。
- 版本:我本地安装的是Python 3.9,这里就下拉选择
Python 3.9
- 目标:操作系统的位数,现在基本都是64位系统,这里选择
x64
- 目录:Python的安装目录,注意:路径分隔符改用“/”,此处填写为
"d:/python/python/python-3.9/"
2、拖动控件:加载Python脚本
在右边的“属性”面板,填好相关字段值
- 变量:新建一个PythonObject类型的变量,用来存储加载后的文件句柄
- 文件:选择需要加载引用的python文件:
"api.py"
- 结果:把加载后的文件句柄值,保存到刚新建的PythonObject类型变量
pyScript
3、拖动控件:调用Python方法
4、拖动控件:获取Python对象
其实就是把返回的PythonObject类型的变量 强制转换为 C#或VB 对象实例
5、最后,拖动控件:日志消息
,输出转换的变量值