我一直试图让Pygraphviz在Mac上使用Python3,但我无法解决一个类型错误。在
具体来说,以下代码的输出(Python3/eclipseneon/macos10.10.5,改编自here教程)
import networkx as nx
import queueing_tool as qt
import pygraphviz as pgv
a = pgv.AGraph()
print(a._get_prog('fdp'))
g = qt.generate_random_graph(200, seed=3)
q = qt.QueueNetwork(g, seed=3)
q.max_agents = 20000
q.initialize(100)
q.simulate(10000)
pos = nx.nx_agraph.graphviz_layout(g.to_undirected(), prog='neato')
是以下错误:
^{pr2}$如果我使用Python2.7.x运行相同的代码(只需要将“print(arg)”更改为“print arg”),我将得到以下输出(大量警告,但它可以工作):
/usr/local/bin/fdp
/usr/local/lib/python2.7/site-packages/pygraphviz/agraph.py:1338: RuntimeWarning: Warning: node 0, position [ 5.50797903 7.08147823], expected two floats
Warning: node 12, position [ 5.44649018 7.80314765], expected two floats
[... here other warnings of the same kind]
Warning: Overlap value "prism" unsupported - ignored
warnings.warn(b"".join(errors), RuntimeWarning)
所以我的问题是,如何让pygraphviz也能和Python3一起工作呢?我不知道去哪儿找。请注意,在从终端或Eclipse运行上述代码时,我得到的错误没有区别。在
是否与Python3不相容?我记得几年前有人告诉我,出于“科学目的”,使用Python2.x可能还是更好的。现在是这样吗?在
提前谢谢你的帮助!在
python3中出现了graphviz错误的字节/字符串处理错误错误。修复程序已包含在pygraphviz github主分支中(https://github.com/pygraphviz/pygraphviz/pull/104)。你可以从https://github.com/pygraphviz/pygraphviz下载,直到我们发布新版本。在
注意,pygraphviz可以正确地使用Python3。在
相关问题 更多 >
编程相关推荐