但是,根据Prefect 配置指南,我已经通过export PREFECT__USER_CONFIG_PATH="./config.toml"设置了一个本地配置文件(即当前工作目录中的配置文件),这需要在每个export PREFECT__USER_CONFIG_PATH="./config.toml"会话中设置环境变量。
我尝试用prefect.config.user_config_path = "./config.toml"在Python中设置配置,但这似乎没有以与export相同的方式加载配置文件,因为:
(从docs)“配置文件在Prefect第一次导入时被解析,并在prefect.config中作为活动对象可用。
对于我的虚拟config.toml数据:
[api]
host = "localhost"
port = "5432"
url = "https://${api.host}:${api.port}"prefect.config通过环境变量:
...'task_runner': {'default_class': 'prefect.engine.task_runner.TaskRunner'}}, 'api': {'host': 'localhost', 'port': 5432, 'url': 'https://localhost:5432'}, 'user_config_path': './config.toml'}>prefect.config通过脚本:
...'task_runner': {'default_class': 'prefect.engine.task_runner.TaskRunner'}}, 'user_config_path': './config.toml'}>所以在第二种情况下没有加载config.toml变量
有什么想法吗?
(应用程序:我想在本地config.toml文件中设置一个“Prefect”秘密,隐藏在源代码管理中)
发布于 2020-08-26 16:59:53
是否有理由要将config.toml文件放在当前的工作目录中?用户配置文件的默认位置是~/.prefect/config.toml,所以如果您将配置放在那里,它将不需要额外的设置。
如果您确实需要当前工作目录中的配置文件,可以尝试将export语句添加到您的~/.bashrc中(或您可能需要的任何shell等效项),以便它始终在您的环境中。
https://stackoverflow.com/questions/63593267
复制相似问题