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, увидите простой текст "точка" и нажмите "Ввод". Если ошибки нет, путь был настроен правильно.