Python PyCallGraphException

Я скопировал пример с их собственного сайта, но я не знаю, как заставить его работать.

Ссылка на их пример

Это мой код:

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

И это ошибка, которую я получаю при попытке ее скомпилировать:

  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.

2 ответа

Решение

Кажется, что библиотека, которую вы хотите использовать, выполняет внутренний вызов dot команда. Но с тех пор dot отсутствует в вашем PATH, библиотека не может найти dot исполняется и вызывает исключение.

Скорее всего, вам нужно установить dot, который является инструментом командной строки для рисования ориентированных графов. Убедитесь, что он установлен.

Если он уже установлен, убедитесь, что вы добавили его местоположение в вашу переменную PATH. См. Этот ответ о переполнении стека для получения дополнительной информации об изменении вашего PATH.

Предыдущий ответ был слишком расплывчатым. Вам нужно найти dot.exe, который для меня был в C:\Program Files (x86)\Graphviz2.38\bin, поэтому я перешел к следующему: панель управления> система> расширенные настройки системы> переменные среды... и затем в нижнем поле "Системные переменные" найдите "Путь", выберите его и выберите "Редактировать", затем выберите "Новый" и вставьте путь. Теперь закройте и снова откройте cmd.exe, увидите простой текст "точка" и нажмите "Ввод". Если ошибки нет, путь был настроен правильно.

Другие вопросы по тегам