pycallgraph с pycharm не работает

Я использую Mac OS X и пытаюсь настроить pycallgraph.
Я установил pycallgraph с пипом и графвиз с доморощенным пивом.
Все работает из оболочки. Но не из пичарма.

from pycallgraph import PyCallGraph
from pycallgraph import Config
from pycallgraph import GlobbingFilter
from pycallgraph.output import GraphvizOutput


config = Config()
config.trace_filter = GlobbingFilter(exclude=[
     'pycallgraph.*',
])

graphviz = GraphvizOutput(output_file='filter_exclude.png')

with PyCallGraph(output=graphviz, config=config):
    def my_fun(): 
        print "HELLO"
    my_fun()

/Users/user/Projects/py27/bin/python /Users/user/Projects/py27_django/test2.py
Traceback (most recent call last):
  File "/Users/user/Projects/py27_django/test2.py", line 15, in <module>
    with PyCallGraph(output=graphviz, config=config):
  File "/Users/user/Projects/py27/lib/python2.7/site-packages/pycallgraph/pycallgraph.py", line 32, in __init__
    self.reset()
  File "/Users/user/Projects/py27/lib/python2.7/site-packages/pycallgraph/pycallgraph.py", line 53, in reset
    self.prepare_output(output)
  File "/Users/user/Projects/py27/lib/python2.7/site-packages/pycallgraph/pycallgraph.py", line 97, in prepare_output
    output.sanity_check()
  File "/Users/user/Projects/py27/lib/python2.7/site-packages/pycallgraph/output/graphviz.py", line 63, in sanity_check
    self.ensure_binary(self.tool)
  File "/Users/user/Projects/py27/lib/python2.7/site-packages/pycallgraph/output/output.py", line 96, in ensure_binary
    'The command "{}" is required to be in your path.'.format(cmd))
pycallgraph.exceptions.PyCallGraphException: The command "dot" is required to be in your path.

Process finished with exit code 1

Вот:
/Users/user/Projects/py27/ -> Virtualenv DIR
/Users/user/Projects/py27_django/ -> Проект DIR


Что он хочет от меня?

4 ответа

Решение

Ответ:

В меню:
Pycharm -> Run -> Edit Configurations...

В диалоге:
для избранных .py файл или по умолчанию /Python:

Группа полей среды:

Environment variables > ... -> + ->
Добавить запись:
Название: PATH
Значение: /usr/local/bin

Include print environment variables должен быть выбран

Установите graphviz в MacOS, используя:

brew install graphviz

Затем вы можете проверить точку с помощью:

dot -v

Вы также можете скачать pkg здесь

Кстати, это поведение, которое два других пользователя подали как Проблема в багтрекер PyCharm: https://youtrack.jetbrains.com/issue/PY-17816

Я обновлю этот пост, если разработчики прокомментируют там.

[Обновление] 22 сентября 2016 года разработчики Pycharm предложили исправление в версии раннего доступа. https://blog.jetbrains.com/pycharm/2016/09/pycharm-2016-3-eap-is-available-with-initial-support-for-python-3-6/, но это, похоже, не имеет исправил проблему еще.

Этот процесс работал для моей среды; Я получил ту же «точечную» ошибку после компиляции. К сожалению, я искал визуальное представление кода, показывающее наследование, вызовы функций, больше похожее на блок-схему. На UP-а-UP я так понял какой профайлер этот отлично работал!

  • Пичарм: 2020.3.3
  • Питон 3.8
  • PyCallGraph3
  • Среда Venv в Pycharm

Чтобы он работал в PyCharm в Windows 10:

  1. Установите пакет под своим интерпретатором: pycallgraph3 File > Settings > Project > Python Interpreter

  2. Установите программу под названием GraphViz (https://graphviz.org/)

  3. В разделе «Конфигурации запуска/отладки» перейдите к «Переменные среды»:

  4. Вставьте следующую строку в конец массивного списка

    ;C:\Program Files\Graphviz\bin;

После этого я не проверял его достоверность, но все равно сделал это, если это не сработало, попробуйте добавить его в путь к Windows.

  1. В Windows в разделе: Свойства системы > Переменные среды

  2. ДЛЯ ОКНА ПОЛЬЗОВАТЕЛЯ (ВВЕРХУ) Правка > ПУТЬ > НОВЫЙ> добавить запись: C:\Program Files\Graphviz\bin\

  3. ДЛЯ ОКНА СИСТЕМНЫХ ПЕРЕМЕННЫХ (ВНИЗУ): Правка > ПУТЬ > НОВЫЙ > добавить новую запись: C:\Program Files\Graphviz\bin\

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