问题描述
我正在努力理解带有 importlib_Metadata 包的 Ubuntu 16.04 上的 python 3.5.2 的这个问题
An error has occured in the execution of the program. Error Message: invalid Syntax (__init__.py,line 88)
Stack Trace: Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/jsonschema/__init__.py",line 31,in <module>
from importlib import Metadata
ImportError: cannot import name 'Metadata'
During handling of the above exception,another exception occurred:
File "/usr/local/lib/python3.5/dist-packages/jsonschema/__init__.py",line 33,in <module>
import importlib_Metadata as Metadata
File "/usr/local/lib/python3.5/dist-packages/importlib_Metadata/__init__.py",line 88
dist: Optional['distribution'] = None
^
SyntaxError: invalid Syntax
安装了这个importlib_Metadata:
pip3 install importlib-Metadata --upgrade
Requirement already satisfied: importlib-Metadata in /usr/local/lib/python3.5/dist-packages
(3.3.0)
Requirement already satisfied: typing-extensions>=3.6.4 in /usr/local/lib/python3.5/dist-
packages (from importlib-Metadata) (3.7.4.3)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.5/dist-packages (from
importlib-Metadata) (3.4.0)
有人可以帮忙绕过这个问题吗?
解决方法
今天我遇到了这个问题,非常烦人。
Python 3.5.2,Ubuntu Xenial
我正在安装的其中一个软件包依赖于 importlib-metadata
,但该版本没有固定,所以我最终使用了 v3.7.0。这导致了一个问题,如 v3.0.0 of importlib-metadata requires Python 3.6 or later。
但是,我能够pip3 install importlib-metadata==2.0.0
然后继续安装我的其他软件包。如果您尝试安装的软件包与 2.0.0
兼容,这应该可行。
这个包importlib-metadata是从我使用的一个包jsonschema导入的,所以我删除了这个依赖包jsonschema的包,并且它有效。
pip3 uninstall importlib-metadata