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:
Установите пакет под своим интерпретатором: pycallgraph3 File > Settings > Project > Python Interpreter
Установите программу под названием GraphViz (https://graphviz.org/)
В разделе «Конфигурации запуска/отладки» перейдите к «Переменные среды»:
Вставьте следующую строку в конец массивного списка
;C:\Program Files\Graphviz\bin;
После этого я не проверял его достоверность, но все равно сделал это, если это не сработало, попробуйте добавить его в путь к Windows.
В Windows в разделе: Свойства системы > Переменные среды
ДЛЯ ОКНА ПОЛЬЗОВАТЕЛЯ (ВВЕРХУ) Правка > ПУТЬ > НОВЫЙ> добавить запись: C:\Program Files\Graphviz\bin\
ДЛЯ ОКНА СИСТЕМНЫХ ПЕРЕМЕННЫХ (ВНИЗУ): Правка > ПУТЬ > НОВЫЙ > добавить новую запись: C:\Program Files\Graphviz\bin\