问题描述
通常,在使用 find -name yes.sh -exec {} +
find -name yes.sh -exec < argument > {} +
插件为 pytest
定义环境变量时,这是使用 pytest-env
完成的:
pytest.ini
[pytest]
env =
DATA_DIR = data/test_assets
从 6.0 开始支持 pytest
。应该如何以这种格式定义环境变量?以下方法不起作用:
pyproject.toml
解决方法
因此问题出在 pytest-env
插件上。首先,它似乎已被其维护者放弃,因为它自 2017 年以来一直没有更新。归结为插件如何解析 here 所示的 toml
文件部分。>
问题特别在于 line。解析 pyproject.toml
的内容时,它会将您所拥有的内容转换为以下内容:
part = e.partition("=")
# ('{DATA_DIR ','=',' "data/test_assets"}')
key = part[0].strip()
# '{DATA_DIR'
这意味着它将您的环境变量转换为具有 '{DATA_DIR'
的键,因此它似乎没有按预期工作。您需要切换回之前用于环境变量的格式,或者删除大括号,因为它们似乎与此插件不匹配。
正确的格式是:
env = [
"DATA_DIR = data/test_assets","ROSETTA = rosetta/main"
]