【问题标题】:How to use importlib.metadata from Python 3.8如何使用 Python 3.8 中的 importlib.metadata
【发布时间】:2019-11-21 11:18:21
【问题描述】:
我一直在尝试理解 Python 3.8 中的 importlib.metadata 库,但似乎无法弄清楚为什么它不起作用。
根据文档https://docs.python.org/3.8/library/importlib.metadata.html,在安装 Python3.8 和 wheel 包(通过 pip)之后:
>> from importlib.metadata import version
>> version('wheel')
ImportError: cannot import name 'MetadataPathFinder' from 'importlib.metadata'
【问题讨论】:
标签:
python-importlib
python-3.8
【解决方案1】:
运行以下命令对我的情况有帮助 python -c "import importlib.metadata, shutil, pathlib; file = pathlib.Path(importlib.metadata.__file__); str(file).endswith('__init__.py') and shutil.rmtree(file.parent) and print('removed', file.parent)"
取自https://bugs.python.org/issue38342#msg353736
【解决方案2】:
找到解决方案(Mac 和 pyenv):
brew update && brew upgrade pyenv
现在应该有 3.8.0 可用(而不是在我的情况下 3.8-dev)
pyenv install 3.8.0
pyenv global 3.8.0