我使用的是Windows 7,Python 3.4.1,Anaconda 2.0.1,Pycharm 3.4 Graphviz和dot通常在控制台中工作。
但是,当尝试使用pycallgraph时,它会以错误结束。
"C:\Users\John\Anaconda3\python.exe" C:/PycharmProjects/myprojectname/abilities.py
Traceback (most recent call last):
File "C:/PycharmProjects/myprojectname/abilities.py", line 1247, in <module>
with PyCallGraph(output=GraphvizOutput()):
File "C:\Users\John\Anaconda3\lib\site-packages\pycallgraph\pycallgraph.py", line 32, in __init__
self.reset()
File "C:\Users\John\Anaconda3\lib\site-packages\pycallgraph\pycallgraph.py", line 53, in reset
self.prepare_output(output)
File "C:\Users\John\Anaconda3\lib\site-packages\pycallgraph\pycallgraph.py", line 97, in prepare_output
output.sanity_check()
File "C:\Users\John\Anaconda3\lib\site-packages\pycallgraph\output\graphviz.py", line 63, in sanity_check
self.ensure_binary(self.tool)
File "C:\Users\John\Anaconda3\lib\site-packages\pycallgraph\output\output.py", line 97, 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
我该怎么做才能解决这个问题? 我检查了this,但它是mac。
答案 0 :(得分:0)
请确保您的PATH变量中有dot.exe的路径。在您的计算机属性中,您可以转到高级系统设置 - &gt;高级(标签) - &gt;环境变量然后编辑PATH变量。
确保列表中有“C:\ Program Files(x86)\ Graphviz2.38 \ bin”(我刚刚安装了Graphviz,因此您的路径可能会略有不同)。该列表以分号分隔,您不应在条目之间留出空格,也不应使用尾随反斜杠。
我的PATH环境变量如下:
C:\Users\<censored>\AppData\Roaming\npm;C:\Program Files (x86)\Java\jre7\bin;C:\Program Files (x86)\Graphviz2.38\bin
重新打开一个Windows终端后,我能够运行pycallgraph,如:
C:\Python27\python.exe C:\Python27\Scripts\pycallgraph --stdlib graphviz --output-file=ninja_mol2.png -- script.py "-f SampleDat/blah.txt -s stuff/ -v"
并且在我当前的工作目录中添加了一个很好的PNG。
我希望这会有所帮助。