python-3.x 更改节点定义中默认的pywinrm解释器

dbf7pr2w  于 2023-06-07  发布在  Python
关注(0)|答案(1)|浏览(132)

我使用py-winrm-plugin来执行一些命令形式rundeck。但是,在执行过程中,我得到以下错误:

Failed: IOFailure: [WinRMPython] Cannot run program "python": error=2, No such file or directory

如果我在项目配置中将默认节点执行器更改为Python WinRM并将Python解释器更改为python3,则可以正常工作,但我希望将默认节点执行器保留为SSH,因为90%的节点都是基于Linux的。对于windows节点,我想将这些设置定义为节点定义的一部分,我尝试了设置winrm-python-Interpreterwinrm-Interpreter,但这些似乎都没有任何影响。
官方文档也没有提到如何在节点定义中指定解释器。

"ahost ":{
      "description":"server"
      "hostname":"ahost",
      "node-executor":"WinRMPython",
      "nodename":" ahost ",
      "osArch":"amd64",
      "osFamily":"windows",
      "osName":"Windows",
      "osVersion":"2020",
      "tags":"windows",
      "winrm-python-Interpreter":"python3"
   },
agxfikkp

agxfikkp1#

这还没有实现(官方),但是你可以尝试编译包含this pull request的插件,其中包含winrm-interpreter属性以在节点级别定义它。
现在,一个好的解决方法是将python可执行文件定义为指向操作系统级所需特定解释器的符号链接。
另一种解决方法是使用PyWinRM作为默认的项目节点执行器(在项目级别配置解释),并在节点级别定义SSH节点。

相关问题