问题摘要:
收集自定义数据集。
class QueryParamsLocations(QueryParams):
@hydra.main(config_path='configs', config_name='location_query')
def get_params_query_string(self, cfg: DictConfig) -> dict():
return {
'query': cfg.location_params.query,
'locale': cfg.location_params.locale,
'currency': cfg.location_params.currency
}
@hydra.main(config_path='configs', config_name='location_query')
def get_url(self, cfg: DictConfig) -> str():
return cfg.urls.location_url
@hydra.main(config_path='configs', config_name='location_query')
def get_headers(self, cfg: DictConfig) -> dict():
return {
'X-RapidAPI-Host': cfg.headers.x_rapidapi_host,
'X-RapidAPI-Key': cfg.headers.x_rapidapi_key
}@hydra.main(config_path='configs', config_name='location_query')
def run_query(cfg: DictConfig) -> None:
try:
LoggerFactory.get_logger('logs/logger.log', 'INFO').info('Running query for location')
qpl = QueryParamsLocations()
response = requests.request("GET", qpl.get_url(cfg), headers=qpl.get_headers(cfg), params=qpl.get_params_query_string(cfg))
print(response.json())
except Exception as e:
LoggerFactory.get_logger('logs/logger.log',
'ERROR').error(f'Error in running query: {e}')
run_query()[2022-05-16 13:43:32,614][logs/logger.log][ERROR] - Error in running query: **decorated_main()** takes from 0 to 1 positional arguments but 2 were given尽管较新版本的hydra (我使用的是hydra-core==1.1.2)在创建cfg对象时使用两个参数,但我不确定是否有其他方法来处理这个问题。
此外,通过搜索其他线程,也尝试了以下操作- Compose API
但是,从文档中,它需要一个覆盖参数,而这个参数并不需要atm。
想知道是否可以尝试其他方法。如果需要,很乐意提供更多的细节。
发布于 2022-05-16 11:08:52
对于这个用例,一定要使用Compose而不是hydra.main()。如果没有要重写的内容,只需为覆盖列表传递一个空数组即可。
https://stackoverflow.com/questions/72256296
复制相似问题