首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python PyCallGraphException

Python PyCallGraphException
EN

Stack Overflow用户
提问于 2018-03-14 09:13:52
回答 2查看 1.4K关注 0票数 1

我已经从他们自己的网站复制了一个例子,但我不知道如何让它工作。

链接到他们的例子

这是我的密码:

代码语言:javascript
复制
from pycallgraph import PyCallGraph
from pycallgraph.output import GraphvizOutput


class Banana:

    def eat(self):
        pass

class Person:

    def __init__(self):
        self.no_bananas()

    def no_bananas(self):
        self.bananas = []

    def add_banana(self, banana):
        self.bananas.append(banana)

    def eat_bananas(self):
        [banana.eat() for banana in self.bananas]
        self.no_bananas()


def main():
    graphviz = GraphvizOutput()
    graphviz.output_file = 'basic.png'

    with PyCallGraph(output=graphviz):
        person = Person()
        for a in xrange(10):
            person.add_banana(Banana())
        person.eat_bananas()

if __name__ == '__main__':
    main()

这就是我在试图编译它时所收到的错误:

代码语言:javascript
复制
  File "test_pycallgraph.py", line 43, in <module>
    main()
  File "test_pycallgraph.py", line 35, in main
    with PyCallGraph(output=graphviz):

    'The command "{}" is required to be in your path.'.format(cmd))
pycallgraph.exceptions.PyCallGraphException: The command "dot" is required to be in your path.
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-14 09:23:08

您要使用的库似乎对dot命令进行了内部调用。但是,由于dot不在您的路径中,库无法找到dot可执行文件并引发异常。

您很可能需要安装dot,这是一个绘制有向图形的命令行工具。一定要安装好它。

如果您已经安装了它,请确保将其位置添加到您的路径中。有关修改路径的更多信息,请参见这个堆栈溢出回答

票数 1
EN

Stack Overflow用户

发布于 2018-05-11 17:32:25

先前的回答有点含糊。您需要找到dot.exe,对我来说,它在C:\Program (x86)\Graphviz2.38\bin中,所以我转到了以下内容:控制面板>系统>高级系统设置>环境变量.然后在“系统变量”的底部框中,查找“路径”,选择“编辑”,然后选择“新建”并粘贴路径。现在关闭并重新打开cmd.exe,并看到简单的输入‘点’并点击enter。如果没有错误,则正确设置路径。

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

https://stackoverflow.com/questions/49273634

复制
相关文章

相似问题

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