【问题标题】:pycallgraph with pycharm does not work带有 pycharm 的 pycallgraph 不起作用
【发布时间】:2013-12-18 11:16:51
【问题描述】:

我正在使用 mac os x 并尝试设置 pycallgraph。
我已经用 pip 安装了 pycallgraph,用 homebrew 安装了 graphviz。
一切都从外壳工作。 但不是来自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/ -> 项目目录


它想从我这里得到什么?

【问题讨论】:

  • 它希望 dot 命令(来自 graphviz)在您的路径中。如果您启动一个终端并执行which dot,它会找到您使用自制软件安装的dot 二进制文件吗?
  • 您可能会遇到这个问题:PyCharm - $PATH on OS X
  • @LukasGraf 是的,当然:它是/usr/local/bin/dot。正如我所说,shell 一切正常。很明显,我必须在某处添加这条路径,但是在哪里呢??
  • 查看我链接的问题及其答案:自制链接包到/usr/local/bin,默认$PATH 中没有。您的.bash_profile 可能会将其添加到$PATH,但这仅适用于终端。将/usr/local/bin/ 附加到您的PyCharm 配置中的$PATH,如this answer 中所述,您应该没问题。
  • @LukasGraf 感谢您提及graphviz。男孩,我很难弄清楚dot 来自哪里

标签: python pycharm


【解决方案1】:

在 MacOS 中安装 graphviz 使用:

brew install graphviz

或在 Ubuntu 中使用:

sudo apt-get install graphviz

然后您可以使用以下方法测试 dot

dot -v

您也可以从here下载pkg

【讨论】:

  • 问题在于从 pyCharm 运行它。但仍然感谢您的评论。
  • Ubuntu:sudo apt-get install graphviz
【解决方案2】:

答案是:

在菜单栏中:
Pycharm -> Run -> Edit Configurations...

在对话框中:
对于选定的.py 文件或默认值/Python:

环境字段组:

Environment variables > ... -> + ->
添加条目:
姓名:PATH
值:/usr/local/bin

应该选择Include print environment variables

【讨论】:

  • 实际上,值应该是 /usr/local/bin:$PATH - 否则你会删除默认 $PATH 的内容(除非 PyCharm 默认附加到它)。
  • @LukasGraf 老实说,我不太明白我到底做了什么,但它确实有效。 :( 如何检查,我是否删除了 $PATH 的内容?
  • @LukasGraf /usr/local/bin:$PATH 也可以。我想,这是更正确的值,所以我更新了我的答案。
  • 检查:打印os.env['PATH']的内容之前之后你修改你的PyCharm配置。之前在那里的所有东西都应该在之后仍然在那里。
  • @LukasGraf before +$PATH: /usr/local/bin:/Users/user/Projects/py27/bin after +$PATH: /usr/local/bin:$PATH:/Users/user/Projects/py27/bin -> 我认为 $PATH 需要删除。
【解决方案3】:

FWIW,这是另外两个用户在 PyCharm 的 bugtracker 中作为问题提交的行为:https://youtrack.jetbrains.com/issue/PY-17816

如果开发者在那里发表评论,我会更新这篇文章。

[更新] 2016 年 9 月 22 日,Pycharm 开发人员在抢先体验版中提供了修复。 https://blog.jetbrains.com/pycharm/2016/09/pycharm-2016-3-eap-is-available-with-initial-support-for-python-3-6/,但这似乎还没有解决问题。

【讨论】:

  • 赞成:这确实是一个答案,至少在 OS X 上是这样。投票!
【解决方案4】:

这个过程适用于我的环境;编译后我得到了同样的“点”错误。不幸的是,我一直在寻找代码的可视化表示,它显示继承、函数调用,更像是流程图。在 UP-and-UP 中,我了解分析器的作用,这个分析器效果很好!

  • Pycharm:2020.3.3
  • Python 3.8
  • PyCallGraph3
  • Pycharm 中的 Venv 环境

让它在 Windows 10 上的 PyCharm 中工作:

  1. 在你的解释器下安装包:pycallgraph3 文件 > 设置 > 项目 > Python 解释器

  2. 安装名为 GraphViz (https://graphviz.org/) 的程序

  3. 在您的运行/调试配置下转到环境变量:

  4. 在海量列表的末尾粘贴以下行

    ;C:\Program Files\Graphviz\bin;

在这里之后,我没有测试它的有效性,但是如果它不起作用尝试将其添加到您的 Windows 路径中,我还是做了它。

  1. 在 Windows 下: 系统属性 > 环境变量

  2. 对于用户窗口(顶部) 编辑 > PATH > NEW> 添加条目:C:\Program Files\Graphviz\bin\

  3. 对于系统变量窗口(底部): 编辑 > PATH > NEW > 添加一个新条目:C:\Program Files\Graphviz\bin\

【讨论】:

    猜你喜欢
    • 2014-12-09
    • 1970-01-01
    • 2015-03-29
    • 2017-08-18
    • 2013-07-21
    • 2018-02-22
    • 2017-07-10
    • 2015-09-19
    • 1970-01-01
    相关资源
    最近更新 更多