我跟踪本教程运行他们提供的app.py。
在第一次尝试运行app.py时,我出错了
Traceback (most recent call last):
File "E:/GIT_repos/SBD/rest_api_demo/rest_api_demo/app.py", line 11, in <module>
logging.config.fileConfig('logging.conf')
File "C:\Users\hunte\AppData\Local\Programs\Python\Python35\lib\logging\config.py", line 76, in fileConfig
formatters = _create_formatters(cp)
File "C:\Users\hunte\AppData\Local\Programs\Python\Python35\lib\logging\config.py", line 109, in _create_formatters
flist = cp["formatters"]["keys"]
File "C:\Users\hunte\AppData\Local\Programs\Python\Python35\lib\configparser.py", line 956, in __getitem__
raise KeyError(key)
KeyError: 'formatters'在我替换了app.py中的第11行之后,错误消失了:
logging.config.fileConfig('logging.conf')至
logging.config.fileConfig('../logging.conf')问题是教程错误的代码,或者是我做了什么&,可能是什么原因,其他人做本教程(我想,看看评论)不需要改变什么,而我必须改变什么?
发布于 2017-02-15 17:13:23
您的修补程序是合法的--加载logging.conf是基于相对路径的,因此logging.config.fileConfig('logging.conf')无法工作。
也许在注释中没有提到这个错误,因为人们没有使用来自GitHub的样板作为他们的项目的支架--我猜他们只是简单地浏览了教程并有选择地获得了有趣的片段,从而避免了错误。
我认为您应该在GitHub上提出一个pull请求的修复方案。
发布于 2019-09-18 17:14:04
将相对路径转换为系统绝对路径应修复此问题:
logging_conf_path = os.path.join(os.path.dirname(__file__), 'logging.conf')
logging.config.fileConfig(logging_config_file_path)https://stackoverflow.com/questions/42209122
复制相似问题