python - Gin config - 即使在示例中也会引发 ValueError
问题描述
我想为一个项目使用 gin 配置,但即使是最基本的示例也会引发ValueError: No configurable matching {}
.
我直接从这里复制了这个例子
配置文件
make_drink.drink_name = "G&T"
make_drink.ingredients = ["Gin", "Tonic", "Lemon"]
make_drink.ice = False
主文件
import gin
gin.parse_config_file("./config.gin")
@gin.configurable
def make_drink(drink_name:str, ingredients:list, ice:bool=False):
print(f"New drink called: {drink_name}")
print(f"Drink contains: " + ", ".join(ingredients))
if ice is True:
print("With ice")
else:
print("Without ice")
make_drink()
结果总是一样的:
ValueError: No configurable matching 'make_drink'.
In file "./config.gin", line 1
make_drink.drink_name = "G&T"
先感谢您!
解决方案
好吧,我明白了。显然,必须将gin.parse_config_file("./config.gin")
命令放在主要位置。
import gin
@gin.configurable
def make_drink(drink_name:str, ingredients:list, ice:bool=False):
print(f"New drink called: {drink_name}")
print(f"Drink contains: " + ", ".join(ingredients))
if ice is True:
print("With ice")
else:
print("Without ice")
if __name__=='__main__':
gin.parse_config_file("./config.gin")
make_drink()
如果有人可以向我解释,为什么我在导入后放置它不起作用,我将不胜感激。
推荐阅读
- android - 在 dart/flutter 项目中包含 C 文件
- npp - 如何确定帧的源图像行步长?
- firebase - Firebase 更新 apple-app-site-association
- android - Android AWS S3 库 - 同步上传
- sql - 动态Sql在子选择中使用变量
- count - SPARQL 中的 GROUP 和 COUNT
- rust - 无法移出试图反序列化 hyper::Request.body() 的借用内容
- javascript - vue js计算属性略有延迟
- django - 提交表单结果错误:当前路径 home/insert 与其中任何一个都不匹配
- react-native - React Native Navigation 抽屉未打开