簡體   English   中英

Python文件配置問題

[英]Python fileConfig issue

我正在按照本教程運行他們提供的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')

問題是,教程錯誤的代碼或者是我做的事可能是什么原因,其他人在做這個教程(我假設,望着評論)並沒有改變什么,而我只好?

您的修復是合法的 - 加載logging.conf基於相對路徑,因此logging.config.fileConfig('logging.conf')將不起作用。

也許評論中沒有提到這個錯誤,因為人們不使用來自 GitHub 的樣板作為他們項目的腳手架 - 我猜他們只是簡單地瀏覽教程並有選擇地獲取有趣的片段,避免錯誤。

我認為您應該在 GitHub 上通過拉取請求提出修復方案。

將相對路徑轉換為系統絕對路徑應該可以解決這個問題:

logging_conf_path = os.path.join(os.path.dirname(__file__), 'logging.conf')
logging.config.fileConfig(logging_config_file_path)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM