即使安装后也没有名为“importlib.metadata”的模块

问题描述 投票:0回答:2

文件 “/home/用户名/.local/lib/python3.7/site-packages/kodi_cli.py”,行 3、在 导入 importlib.metadata ModuleNotFoundError:没有名为“importlib.metadata”的模块

pip3 install kodi-cli --user

查看索引:https://pypi.org/simplehttps://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/simplehttps://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")
python-3.x raspbian modulenotfounderror
2个回答
1
投票

而不是

import importlib.metadata

from importlib_metadata import metadata

如果未安装 importlib_metadata 模块,则首先通过安装

pip install importlib-metadata

详细信息:https://stackoverflow.com/a/59734959/19428695


0
投票

我只是按照@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
© www.soinside.com 2019 - 2024. All rights reserved.