假设我们有以下设置(从Hydra docs复制并缩短):
配置文件:config.yaml
db:
driver: mysql
user: omry
pass: secret
Python文件:my_app.py
import hydra
@hydra.main(config_path="config.yaml")
def my_app(cfg):
print(cfg.pretty())
if __name__ == "__main__":
my_app()
当我们可以在function my_app
上使用decorator时,这很有效.现在,我想(出于小脚本和测试目的,但这并不重要)在任何函数之外获得这个cfg
对象,只需在一个普通的python脚本中.根据我对装饰师工作方式的了解,应该可以打电话给
import hydra
cfg = hydra.main(config_path="config.yaml")(lambda x: x)()
print(cfg.pretty())
但是cfg
只是None
,不是理想的配置对象.因此,装饰程序似乎不会传递返回的值.有没有其他办法达到cfg
美元?