已安装importlib-metadata仍报错:No module named 'importlib.metadata'
解决kodi-cli导入
importlib.metadata失败的问题 问题根源
Python 3.7中,importlib.metadata并非标准库模块,而是以第三方包importlib-metadata的形式存在,包内的实际模块名是importlib_metadata。kodi-cli的源码直接使用了import importlib.metadata,导致Python 3.7环境下无法找到对应模块,即使安装了importlib-metadata也无法直接兼容。
修复方法
方法一:修改kodi-cli源码(推荐)
- 打开kodi_cli.py文件:
nano /home/username/.local/lib/python3.7/site-packages/kodi_cli.py - 将第3行的
import importlib.metadata替换为兼容Python 3.7的导入代码:try: import importlib.metadata except ImportError: import importlib_metadata as metadata importlib = type('dummy', (), {}) importlib.metadata = metadata - 保存并退出编辑器(按
Ctrl+O确认保存,Ctrl+X退出) - 重新运行你的kodi-cli命令即可正常使用。
方法二:临时兼容运行(无需修改源码)
直接通过Python命令指定兼容的导入逻辑来运行kodi-cli:
python3 -c "import importlib_metadata as importlib.metadata; exec(open('/home/username/.local/bin/kodi-cli').read())" -H host -P 8080 -u username -p password -C
内容的提问来源于stack exchange,提问作者user1933677
相关产品推荐
相关产品推荐

