首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“‘function”对象没有属性“display_formatter”

“‘function”对象没有属性“display_formatter”
EN

Stack Overflow用户
提问于 2020-08-23 05:53:27
回答 1查看 164关注 0票数 1

我有一个python程序,我正试图在Jupyter notebook的shell上运行它。该代码在notebook中运行良好,但是当我导出到shell时,我一直收到以下错误

'function' object has no attribute 'display_formatter'

代码语言:javascript
运行
复制
import cv2
import numpy as np 
from scipy import spatial 
from IPython import get_ipython


def make_mask(b,image):
    mask=np.zeros((image.shape[0],image.shape[1],1),dtype=np.unint8)
    for xx,yy in enumarate(b):
        mask[yy:,xx]=255
    return mask


def display_mask(b,image,color=[0,0,255]):
    result=image.copy()
    overlay=np.full(image.shape,color,image.dtype)

    display(cv2.addWeighted(cv2.bitwise_and(overlay,overlay,mask=make_mask(b,image)),1,image,1,0,result))

def display_cv2_image(image):
    return cv2.imencode('.png', image)[1].tostring()


ip=get_ipython()
png_f = ip.display_formatter.formatters['image/png']
png_f.for_type_by_name('numpy', 'ndarray', display_cv2_image);

我已经显式导入了IPython,但仍然没有任何进展。

EN

回答 1

Stack Overflow用户

发布于 2020-08-23 06:19:56

我真的解决了。I get_ipython的工作是获取全局InteractiveShell实例,如果没有注册InteractiveShell实例,则返回None。

我找到了两种解决问题的方法。1.在普通shell中导入get_ipython将不起作用,直到您通过ipython运行它会将get_python创建为全局变量

代码语言:javascript
运行
复制
$ ipython python/myscripy.py

2.注释掉所有的get_ipython命令,因为您已经运行了一个就绪的python shell实例

我希望这也能帮助到一些人

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63541463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档