gpt4 book ai didi

python - 如何通过 Ansible 远程执行具有多个模块的 Python?

转载 作者:太空宇宙 更新时间:2023-11-03 14:18:12 24 4
gpt4 key购买 nike

简介

我想使用 Ansible 在远程主机上运行 Python 代码 (test.py)。直到我将一些功能提取到另一个模块中之前,这才成为问题。

使用 ansible-playbook test.yml 运行 playbook 时(内容如下,删除了一些细节):

- name: Perform tests
hosts: ...
vars_files:
...
tasks:
- name: run test script
script: "{{ playbook_dir }}/scripts/test.py

我收到以下错误:

Traceback (most recent call last):
File "/home/<removed>/.ansible/tmp/ansible-tmp-1515175369.61-59422518925475/test.py", line 11, in <module>
import utils
ImportError: No module named utils

但是,在目标计算机上运行 python script/test.py 运行顺利。

详细信息

这是我的目录布局:

+ scripts/
- __init__.py
- test.py
- utils.py

test.py 中,我有这一行:

import utils

问题

如何从 test.py 中导入 utils 模块?

最佳答案

How can I import the utils module from inside test.py?

您需要将所有文件传输到目标机器(使用copy模块)并在目标机器上执行python命令(使用命令 模块和 chdir 选项)。

您不能使用 script 模块来完成此操作 - 它不会传输除参数中给出的文件之外的文件。

关于python - 如何通过 Ansible 远程执行具有多个模块的 Python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48119632/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com