Jenkins部署项目 执行pipeline 脚本提示找不到 python module

Jenkins 部署项目 执行pipeline 脚本提示找不到python module,在节点机器上 运行脚本是可以的, 不知道是什么导致的?

pipeline script:

stage('Prepare'){
            options { timeout(time: 30, unit: 'MINUTES')  }
            agent {label 'NUC_05'} /* <-------------- */
            steps{
                script{
                    t_rv=nodesByLabel('NUC_05')
                    if (t_rv.size()==0) error "Host: NUC_05 is offline"
                }
                /*error "debug to stop here."*/
                dir('C:\\workspace\\work\\preparetestbench'){ /* <------------ */
                    echo "Prepare pipeline info"
                    bat "py -3 preparetest.py"
                }
            }
        }

Error 提示:
C:\workspace\cvf_work\preparetestbench>py -3 preparetest.py
Traceback (most recent call last):
File "preparetest.py", line 28, in
import yaml
ModuleNotFoundError: No module named 'yaml'

检查点:

  1. 检查远端机器 是否安装python 脚本所依赖的库
  2. 检查库安装的路径及系统环境变量中是否 配置

总结:
我查看了远端机器上库是有安装的, 但库安装路径不是在 C:\Program Files\Python3x\Lib\site-packages 下,而是安装在C:\Users\NUC\AppData\Roaming\Python\Python3x\site-packages 下, 系统环境变量也没配置, 所以Jenkins 运行脚本时会提示找不到库。
我试了把库实际的安装路径添加环境变量中, 看起来也不起作用, 不知道是什么原因,目前使用比较笨的方法是把库拷贝到C:\Program Files\Python3x\Lib\site-packages 就可以正常执行了。