Python ImportError: cannot import name ABC
Python 3.5.2 测试可以运行
import sys
from abc import ABC,abstractmethod
class MyBase(ABC):
@abstractmethod
def func(self):
'''Implement in subclass'''
class MyClass(MyBase):
def func(self):
con = "%s %s" % (self.__class__.__name__,sys._getframe().f_code.co_name)
print(con)
obj = MyClass()
obj.func()
输出
MyClass func
python 2.7.12测试可以运行
import sys
from abc import ABCMeta, abstractmethod
class MyBase():
__metaclass__ = ABCMeta
@abstractmethod
def func(self):
'''Implement in subclass'''
class MyClass(MyBase):
def func(self):
con = "%s %s" % (self.__class__.__name__,sys._getframe().f_code.co_name)
print(con)
obj = MyClass()
obj.func()
输出
MyClass func
上面python2的代码在python3中也可以正常输出.
还有一种3.0-3.3的写法 不写了.
兼容后的代码
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import sys
if sys.version > '3':
from abc import ABC,abstractmethod
else:
from abc import ABCMeta, abstractmethod
if sys.version > '3':
class MyBase(ABC):
@abstractmethod
def func(self):
'''Implement in subclass'''
else:
class MyBase():
__metaclass__ = ABCMeta
@abstractmethod
def func(self):
'''Implement in subclass'''
class MyClass(MyBase):
def func(self):
con = "%s %s" % (self.__class__.__name__,sys._getframe().f_code.co_name)
print(con)
obj = MyClass()
obj.func()
Python ImportError: cannot import name ABC的更多相关文章
- python: ImportError: cannot import name 'Style' from 'openpyxl.styles' 解决方法
import os, openpyxl from openpyxl.styles import Font, Style os.chdir("C:\\") wb = openpyxl ...
- python import eventlet包时提示ImportError: cannot import name eventlet
root@zte-desktop:/home/ubuntu/python-threads# cat eventlet.py #!/usr/bin python import eventlet from ...
- Windows下Python安装: requires numpy+mkl 和ImportError: cannot import name NUMPY_MKL
最近写了一篇关于“微软开源分布式高性能GB框架LightGBM安装使用”的文章,有小伙伴安装Python环境遇到了问题.我个人也尝试安装了一下,确实遇到了很多问题."Windows7下pyt ...
- python 运行脚本报错 from keyword import iskeyword as _iskeyword ImportError: cannot import name iskeyword,说明python环境坏了,得重装,尚不知具体原因,
C:\Python27\Scripts>python task_test.pyTraceback (most recent call last): File "task_test.p ...
- Python模块Scrapy导入出错:ImportError: cannot import name xmlrpc_client
Mac(OS version: OS X Yosemite 10.10.5)上安装Scrapy模块,使用时出现: from six.moves import xmlrpc_client as xmlr ...
- [python] 关于错误 ImportError: cannot import name compile_command
我的pydev某一天开始就无法debug 了,执行debug 就会报 ImportError: cannot import name compile_command 原因居然是:我自己写了一个code ...
- 终于解决了python 3.x import cv2 “ImportError: DLL load failed: 找不到指定的模块” 及“pycharm关于cv2没有代码提示”的问题
终于解决了python 3.x import cv2 “ImportError: DLL load failed: 找不到指定的模块” 及“pycharm关于cv2没有代码提示”的问题 参考 :h ...
- 关于python pip安装第三方库 jieba 中文分词工具后提示"ImportError: cannot import name 'Random'"报错问题
具体错误提示如下: >>> import jieba Traceback (most recent call last): File "<stdin>" ...
- 在eclipse中用java调用python报错 Exception in thread "main" ImportError: Cannot import site module and its dependencies
最近做项目需要用java调用python,配置了jython后,运行了例子代码: 获得一个元组里面的元素: import org.python.util.PythonInterpreter; publ ...
随机推荐
- CentOS7搭建sftp
openssh-server自带sftp服务 1.添加组: groupadd sftp 2.添加不可登录的sftp用户 useradd -u 1001 -g sftp -s /sbin/no ...
- 一文详解JavaScript的继承模式
1 原型链继承 #### ES6中通过原型继承多个引用类型的属性和方法,由于原型和实例的关系,即每个构造函数都有自己的原型对象,同时原型有一个属性指向构造函数,并且实例有一个内部的指针指向原型.如果存 ...
- CPU到底是什么东西?它为什么能够执行数学运算?
CPU到底是什么东西?它为什么能够执行数学运算? 本文地址http://yangjianyong.cn/?p=20转载无需经过作者本人授权 简单的物理电路 先来看一张初中学过的物理电路图: 从图中我们 ...
- MapReduce原理深入理解(一)
1.MapReduce概念 1)MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题. 2)MapReduce是分布式运行的,由两个阶段组成:Map和R ...
- Java基础系列(16)- Scanner进阶使用
了解更多的sanner方法 Ctrl+鼠标左键,点击[Scanner] 点击Structure 看到了Scanner类下面的所有方法,以及具体方法实现的底层封装逻辑 拓展例子_nextInt()获取和 ...
- 使用 FIO 对 Kubernetes 持久卷进行 Benchmark:读/写(IOPS)、带宽(MB/s)和延迟
工具 Dbench https://github.com/leeliu/dbench 用法 编辑 dbench.yaml 文件中的 storageClassName 以匹配你自己的 Storage C ...
- python多线程与_thread模块
进程与线程 1.进程:计算机程序只是存储在磁盘中的可执行二进制(或其他类型)的文件.只有把他们加载到内存中并被操作系统调用,才具有其生命周期.进程则是一个执行中的程序.每个进程都拥有自己的地址空间,内 ...
- windows kubectl 远程操作k8s
在windows 电脑上配置kubectl远程操作kubernetes 一.下载windows版的kubectl可执行文件 下载地址 二.创建.kube 建议使用git bash cd ~ mkdir ...
- AT2390-[AGC016F]Games on DAG【状压dp,SG函数】
正题 题目链接:https://www.luogu.com.cn/problem/AT2390 解题思路 \(n\)个点的\(DAG\),\(m\)条边可有可无,\(1\)和\(2\)上有石头.求有多 ...
- Django整理(一) - 项目和应用创建及运行
一.项目组织结构 · 一个Project包含有多个App · 一个App就是一个Python包,就代表一个功能模块,比如: 用户模块,商品模块等 .各个功能模块间可以保持相对的独立 . ...