我已经开发了本地自定义Ansible模块 my_module ,该模块使用外部python库 someextmod 。在代码中,将 someextmod 导入到 my_module 中,如下所示:
from someextmod import Foo
当我在已激活且先前设置的venv中运行Ansible健全性测试时(完成pip3 install someextmod
):
(venv) userID@hostname:~/projects/ansible# ansible-test sanity --python 3.7 --python-interpreter /usr/bin/python3 lib/ansible/modules/my_modules/my_module.py
我收到一个错误:
Running sanity test 'import' with Python 3.7
ERROR: Found 1 import issue(s) on python 3.7 which need to be resolved:
ERROR: lib/ansible/modules/my_modules/my_module.py:122:0: traceback: ModuleNotFoundError: No module named 'someextmod'
我使用选项--python 3.7
还是--python 3.5
或--python 3.X
都没有区别。 --python-interpreter
选项的存在对所提到的错误也没有影响。但是,当我运行一本使用 my_module (和 someextmod )的剧本时:
(venv) userID@hostname:~/projects/ansible# ansible-playbook -v main.yml -e 'ansible_python_interpreter=/usr/bin/python3'
Ansible发现所有内容,并且剧本正常运行。您是否碰巧知道如何消除该错误?