当前位置: 首页 > 知识库问答 >
问题:

在Colab中打印时,python igraph“'bytes'对象没有属性'encode'”

凤财
2023-03-14

尽管安装了aptlibcairo2dev和pipcairoffi,但我无法在googlecolab中使用pythonigraph绘制任何内容。

我想在Colab的一个项目中使用igraph,特别是绘制图和节点社区。安装步骤顺利通过,没有错误。但是,当我试图绘制一个简单的图形时,我从igraph/drawing/\uuuu init\uuuuuuuuu中得到一个错误。py关于utf-8编码。将pycairo替换为cairocfi,我得到了相同的错误。

!sudo apt install build-essential python-dev libxml2 libxml2-dev zlib1g-dev libcairo2-dev
!pip install cairocffi python-igraph
import igraph as ig
g = ig.Graph(edges=[(0,1)])
ig.plot(g)

没有出现绘图,我得到:

AttributeError                            Traceback (most recent call last)

/usr/local/lib/python3.6/dist-packages/IPython/core/formatters.py in __call__(self, obj)
    336             method = get_real_method(obj, self.print_method)
    337             if method is not None:
--> 338                 return method()
    339             return None
    340         else:

/usr/local/lib/python3.6/dist-packages/igraph/drawing/__init__.py in _repr_svg_(self)
    352         surface.finish()
    353         # Return the raw SVG representation
--> 354         return io.getvalue().encode("utf-8")
    355 
    356     @property

AttributeError: 'bytes' object has no attribute 'encode'

<igraph.drawing.Plot at 0x7f6b34afb160>

共有2个答案

充鑫鹏
2023-03-14

按照@Silmathoron的解释,我已经交换了!pip安装cairocffi python-igraph在我原来的问题

!pip install cairocffi
!pip download python-igraph
!tar -xf python-igraph-0.7.1.post6.tar.gz
with open("python-igraph-0.7.1.post6/igraph/drawing/__init__.py", 'r') as file:
  text = file.read()
assert text[14797:14803] == 'encode'
with open("python-igraph-0.7.1.post6/igraph/drawing/__init__.py", 'w') as file:
  file.write(text[:14797] + "decode" + text[14803:])
!pip install --no-index --find-links="." python-igraph

解决了问题。(不过,在最后一次安装pip时,Colab挂起的时间出奇地长。)

郎仰岳
2023-03-14

显然,这是一个已知的错误,但由于某种原因尚未修复

您需要手动编辑该文件,并将有故障的行替换为(例如)

result = io.getvalue()
return result.decode("utf-8")
 类似资料:
  • 我在尝试测试对象检测api model\u builder\u测试时遇到以下错误。皮耶。 运行model_builder_test.py后出现以下错误 ...0220 03:22:35.097244 140099951081344deprecation.py:323]从 /content/models/research/object_detection/anchor_generators/grid

  • 这是我的密码: 这条线给了我错误 "属性错误:'浮点'对象没有属性'exp'"。X,t是Numpy ndarray。

  • 问题描述 如下图所示,我分别打印了ObjectFood和ObjectFood[1001] 但是输出结果如下图所示 后续尝试了 这两种方法均是undefined,求各位帮忙解惑

  • 问题内容: 我正在开发Django应用程序,并且出现以下错误 我的模型是这样构造的 我应该做什么? 问题答案: 首先,您必须非常小心地重写以具有非可选参数。记住,每次从一个查询集中获取一个对象时,它将被调用! 这是您想要的正确代码: 如果您只使用该对象的子类,我强烈建议在Animal上设置abstract选项。这样可以确保不为动物创建表,而仅为绵羊(等)创建表。如果未设置abstract,则将创建

  • 我创建了这个简单的GUI: 我让用户界面启动并运行。当我点击按钮时,我在控制台上得到以下错误: 为什么设置为?

  • 问题内容: 我在python 3.3.4中遇到“解码”方法的问题。这是我的代码: 但是我无法解码此问题的代码: 你有什么想法?谢谢 问题答案: 一种 编码 字符串,另一种 解码 字节。 您应该从文件中读取字节并对其进行解码: 幸运的是,有一个编码参数使操作变得简单: