发布Python包wrapper后,导入至client时加载日志配置文件失败
Python包导入问题:wrapper包日志配置文件无法加载
我尝试发布名为wrapper的Python包,并在client包中导入使用,但遇到了导入问题。wrapper包依赖子包及日志配置文件logger/config.ini,目录结构如下:
. ├── wrapper │ ├── __init__.py │ ├── aiowrapper.py │ ├── logger │ │ └── config.ini │ ├── models │ │ ├── __init__.py │ │ └── models.py ├── poetry.lock ├── pyproject.toml
wrapper包中aiowrapper.py的以下代码引发了问题:
from .models.models import Position logging.config.fileConfig('logger/config.ini', disable_existing_loggers=False) log = logging.getLogger(__name__)
我通过client包中的Jupyter Notebook进行测试,步骤如下:
- 在
wrapper包中执行:poetry build --no-cache - 在
client包中执行:poetry add -D <path-to-tar-build-file> - 在client的Jupyter Notebook中执行:
from wrapper.aiowrapper import Session
此时出现如下错误:
---> 10 logging.config.fileConfig('logger/config.ini', disable_existing_loggers=False) 11 log = logging.getLogger(__name__) 13 class Session: File ~/.pyenv/versions/3.10.4/lib/python3.10/logging/config.py:72, in fileConfig(fname, defaults, disable_existing_loggers, encoding) 69 encoding = io.text_encoding(encoding) 70 cp.read(fname, encoding=encoding) ---> 72 formatters = _create_formatters(cp) 74 # critical section 75 logging._acquireLock() File ~/.pyenv/versions/3.10.4/lib/python3.10/logging/config.py:105, in _create_formatters(cp) 103 def _create_formatters(cp): ... 963 if key != self.default_section and not self.has_section(key): --> 964 raise KeyError(key) 965 return self._proxies[key] KeyError: 'formatters'
该错误表明日志配置文件未被找到。我已找到相关解决方案,但想询问是否存在无需修改路径的解决方式?
内容的提问来源于stack exchange,提问作者sohaib
相关产品推荐
相关产品推荐

