文件 “/home/用户名/.local/lib/python3.7/site-packages/kodi_cli.py”,行 3、在 导入 importlib.metadata ModuleNotFoundError:没有名为“importlib.metadata”的模块
pip3 install kodi-cli --user
查看索引:https://pypi.org/simple, https://www.piwheels.org/simple 已满足要求: /home/username/.local/lib/python3.7/site-packages 中的 kodi-cli (0.1.9) 已满足要求: requests<3.0.0,>=2.28.0 in /home/用户名/.local/lib/python3.7/site-packages(来自kodi-cli) (2.28.1) 已满足要求: urllib3<1.27,>=1.21.1 in /usr/lib/python3/dist-packages(来自 requests<3.0.0,>=2.28.0->kodi-cli) (1.24.1) 已满足要求 满足: charset-normalizer<3,>=2 in /home/用户名/.local/lib/python3.7/site-packages(来自 requests<3.0.0,>=2.28.0->kodi-cli) (2.0.4) 已满足要求 满意: /usr/lib/python3/dist-packages 中的 certifi>=2017.4.17 (来自 requests<3.0.0,>=2.28.0->kodi-cli) (2018.8.24) 已要求 满意: /usr/lib/python3/dist-packages 中的 idna<4,>=2.5 (来自 请求<3.0.0,>=2.28.0->kodi-cli) (2.6)
kodi-cli -H host -P 8080 -u username -p password -C
我在顶部收到错误,所以..
pip3 install importlib-metadata --user
查看索引:https://pypi.org/simple, https://www.piwheels.org/simple 已满足要求: 导入库元数据 /home/用户名/.local/lib/python3.7/site-packages (5.0.0) 要求 已经满足:zipp>=0.5 英寸 /home/用户名/.local/lib/python3.7/site-packages(来自 importlib-metadata) (3.10.0) 已满足要求: 打字扩展>=3.6.4; python_版本 < "3.8" in /home/username/.local/lib/python3.7/site-packages (from importlib-metadata) (3.10.0.0)
仍然出现错误。
python3 --version
Python 3.7.3
cat /etc/os-release
PRETTY_NAME=“Raspbian GNU/Linux 10(破坏者)” NAME=“Raspbian GNU/Linux” VERSION_ID="10" VERSION="10(破坏者)" VERSION_CODENAME=破坏者 ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL =“http://www.raspbian.org/RaspbianForums” BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
我在这里摸不着头脑。任何帮助将不胜感激。
我怀疑这可能与程序 kodi_cli.py 中的这段代码有关
import importlib.metadata
import json
import logging
import os
import pathlib
import sys
import textwrap
import version as ver_info
from kodi_interface import KodiObj
__version__ = importlib.metadata.version("kodi-cli")
而不是
import importlib.metadata
写
from importlib_metadata import metadata
如果未安装 importlib_metadata 模块,则首先通过安装
pip install importlib-metadata
我只是按照@cory-gross 在评论中所说的去做,它对我有用。确实是非常小的细节。
“python 3.8 及更高版本使用 importlib.metadata,python 3.8 以下使用 importlib_metadata。”
所以就我而言,它变成了:
from importlib_metadata import packages_distributions
packages_distributions() # I wanted to see all distribution names and their import names