2013-12-02 2 views
13

Я использую mac os x и пытаюсь настроить pycallgraph.
Ive установил pycallgraph с pip и graphviz с homebrew.
Все работает от оболочки. Но не от pycharm.pycallgraph с pycharm не работает

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 реж
/Users/user/Projects/py27_django/ -> Проект реж


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

+4

Он хочет, чтобы команда 'dot' (from graphviz) находилась на вашем пути. Если вы запустите терминал и выполните 'which dot', он найдет двоичный файл' dot', который вы установили с помощью homebrew? –

+0

Скорее всего, вы столкнулись с этой проблемой: [PyCharm - $ PATH на OS X] (http: // stackoverflow.com/questions/8732119/pycharm-path-on-os-x) –

+0

@LukasGraf да, конечно: это '/ usr/local/bin/dot'. Как я уже сказал, все работает отлично. Понятно, что я должен добавить этот путь где-нибудь, но где? – akaRem

ответ

8

Ответ:

В линейке:
Pycharm ->Run ->Edit Configurations...

В диалоге:
для выбранного .py файла или Defaults/Python:

Окружающая среда полевая группа:

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

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

+1

Фактически, значение должно быть'/usr/local/bin: $ PATH' - в противном случае вы отбрасываете содержимое своего '' $ PATH '' по умолчанию (если PyCharm не присоединяется к нему по умолчанию). –

+0

@ LukasGraf Честно говоря, я не совсем понимаю, что именно я сделал, но он работает. :(Как проверить, удалил ли я содержимое $ PATH? – akaRem

+0

@LukasGraf '/ usr/local/bin: $ PATH' тоже работает. Я полагаю, что это более правильное значение, поэтому я обновил свой ответ. – akaRem

21

Установите Graphviz в MacOS с помощью:

brew install graphviz

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

dot -v

Вы также можете скачать PKG из here

+1

Проблема заключалась в том, чтобы запустить его из pyCharm. Но все равно спасибо за комментарий. – akaRem

+0

Это сработало для меня на Mac! Thumbs up! – Rafay

0

FWIW, это поведение, которое два других пользователей подали как выпуск в багтрекере 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/, но, похоже, это еще не устранило проблему.

+0

Upvoted: это действительно ответ, по крайней мере, на OS X Проголосовать! –

Смежные вопросы