Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么我不能导入ABC,但正确导入了ABCMeta?_Python_Abc - Fatal编程技术网

Python 为什么我不能导入ABC,但正确导入了ABCMeta?

Python 为什么我不能导入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

我得到了一个使用python的abc包的示例代码。我用pip在笔记本电脑上安装了abc。路径中正确设置了到包文件夹的路由

我得到的示例代码包括:

'从abc导入abc,abstractmethod'

如果我尝试运行它,我会得到“ImportTerror:无法导入名称ABC”。然而,如果我尝试只导入“abstractmethod”,那么导入就会起作用

我也可以导入ABC,只是不能导入ABC


“从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,但仍然遇到同样的问题,,,解决方案是什么。