在Colab中绘制时,pythonigraph“bytes”对象没有属性“encode”

2024-06-16 08:54:27 发布

您现在位置:Python中文网/ 问答频道 /正文

尽管安装了apt libcairo2-dev和pip cairocffi,但我无法在googlecolab中使用pythonigraph绘制任何内容。在

我想在Colab的一个项目中使用igraph,特别是绘制图形和节点社区。安装步骤无误。但是当我试图画一个简单的图时,我从igraph/drawing/__init__.py得到一个关于utf-8编码的错误。将pycairo替换为cairocffi,我得到了相同的错误。在

!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)

没有情节出现,我得到:

^{pr2}$

Tags: installpipdev内容错误绘制aptcolab
2条回答

按照@Silmathoron的解释,我换了 !pip install 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挂起了奇怪的长时间。)

显然这是一个已知的错误,但由于某些原因没有被修复。。。见GtiHub issue tracker

您需要手动编辑文件,并将错误行替换为(例如)

result = io.getvalue()
return result.decode("utf-8")

相关问题 更多 >