Python 为什么我不能导入ABC,但正确导入了ABCMeta?
我得到了一个使用python的abc包的示例代码。我用pip在笔记本电脑上安装了abc。路径中正确设置了到包文件夹的路由 我得到的示例代码包括: '从abc导入abc,abstractmethod' 如果我尝试运行它,我会得到“ImportTerror:无法导入名称ABC”。然而,如果我尝试只导入“abstractmethod”,那么导入就会起作用 我也可以导入ABC,只是不能导入ABCPython 为什么我不能导入ABC,但正确导入了ABCMeta?,python,abc,Python,Abc,我得到了一个使用python的abc包的示例代码。我用pip在笔记本电脑上安装了abc。路径中正确设置了到包文件夹的路由 我得到的示例代码包括: '从abc导入abc,abstractmethod' 如果我尝试运行它,我会得到“ImportTerror:无法导入名称ABC”。然而,如果我尝试只导入“abstractmethod”,那么导入就会起作用 我也可以导入ABC,只是不能导入ABC “从abc导入abc”abc.abc于年引入。 所以,您应该使用一个版本≥ 3.4运行代码 bpo-1604
“从abc导入abc”
abc.abc
于年引入。所以,您应该使用一个版本≥ 3.4运行代码 bpo-16049:添加abc.abc类以允许使用继承来创建abc,而不是更麻烦的元类=ABCMeta。布鲁诺·杜普伊斯的补丁
我在这里找到了我想要的东西: 基本上,在python 2.7中(由于boss的原因,我不得不使用该版本),您使用ABCMeta,并将类设置为从ABCMeta继承,如下所示:
from abc import ABCMeta, abstractmethod
class MyBase():
__metaclass__ = ABCMeta
@abstractmethod
def func(self):
这对我很有帮助,我希望对其他人也是如此 我在mac os mojave上使用Python3.9,但仍然遇到同样的问题,,,解决方案是什么。