PHP笔记网

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2023-06-24 23:29:51  修改时间:2024-11-07 05:59:37  分类:03.数据采集/爬虫  编辑

当前版本: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文件:

  1. mod.py
  2. 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作用域

在右边的“属性”面板,填好相关字段值

  1. 工作文件夹:python代码所在的文件,注意:路径分隔符改用“/”,此处填写为 "d:/456/python/"
    1. 【特别注意】如果python代码不是在 UiPath项目目录下的某个目录,后面在“加载Python脚本”时,需要使用 绝对物理路径(如:"d:\456\python\api.py"),即不能使用相对路径。
  2. 版本:我本地安装的是Python 3.9,这里就下拉选择 Python 3.9
  3. 目标:操作系统的位数,现在基本都是64位系统,这里选择x64
  4. 目录:Python的安装目录,注意:路径分隔符改用“/”,此处填写为"d:/python/python/python-3.9/"

2、拖动控件:加载Python脚本

在右边的“属性”面板,填好相关字段值

  1. 变量:新建一个PythonObject类型的变量,用来存储加载后的文件句柄
  2. 文件:选择需要加载引用的python文件:"api.py"
  3. 结果:把加载后的文件句柄值,保存到刚新建的PythonObject类型变量pyScript

3、拖动控件:调用Python方法

4、拖动控件:获取Python对象

其实就是把返回的PythonObject类型的变量 强制转换为 C#或VB 对象实例

5、最后,拖动控件:日志消息,输出转换的变量值