You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ansible-test执行时未使用系统PYTHONPATH,如何自定义该环境变量?

如何覆盖ansible-test使用的PYTHONPATH?

运行ansible-test units -vvv时,输出中的PYTHONPATH并非终端配置的内容(用pytest执行相同逻辑可正常读取系统PYTHONPATH)。

相关输出信息

ansible-test输出的环境变量:

PATH=/tmp/ansible-test-js1exv63-injector:/tmp/python-brdg1v39-ansible:/root/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.local/bin/
PYTEST_PLUGINS=ansible_pytest_collections
PYTHONPATH=/tmp/ansible-test-nei1j811:/root/.local/lib/python3.9/site-packages/ansible_test/_util/target/pytest/plugins

同一终端执行echo $PYTHONPATH结果:

/src/ansible_collections:

当前环境

  • Python 3.9
  • ansible==7.3.0
  • ansible-core==2.14.3

解决方法

  • 使用--pythonpath命令行参数:直接在执行命令时指定路径,该路径会被添加到PYTHONPATH最前端,优先加载:

    ansible-test units -vvv --pythonpath /src/ansible_collections
    
  • 通过ANSIBLE_TEST_PYTHONPATH环境变量覆盖:设置该变量可直接替换ansible-test生成的PYTHONPATH:
    临时生效(单次执行):

    ANSIBLE_TEST_PYTHONPATH=/src/ansible_collections ansible-test units -vvv
    

    长期生效(当前终端会话):

    export ANSIBLE_TEST_PYTHONPATH=/src/ansible_collections
    ansible-test units -vvv
    
  • 配置文件持久化设置:在项目根目录创建ansible-test.cfg,添加以下内容,每次执行ansible-test units都会自动应用:

    [units]
    pythonpath = /src/ansible_collections
    

内容的提问来源于stack exchange,提问作者capa_matrix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 17:20:11