2015-11-12 15 views
8

मैं जब की तरह एक साधारण कोड भागने की कोशिश की pydot के माध्यम से एक pythonic ग्राफ समाधान का निर्माण करने और की जरूरत है:Pydot त्रुटि: फ़ाइल स्वरूप "png" पहचाना नहीं

import pydot 

graph = pydot.Dot(graph_type='graph') 
i=1 
edge = pydot.Edge("A", "B%d" % i) 
graph.add_edge(edge) 
graph.write_png('graph.png') 

कौन सा एक सरल ग्राफ निर्माण करने के लिए डिज़ाइन किया गया है (ए -बी 1) पीएनजी फ़ाइल पर। मिस-कॉन्फ़िगरेशन का एक बहुत फिक्सिंग के बाद, अब मुझे मिल गया:

Traceback (most recent call last): 
    File "/Users/zallaricardo/Documents/Python/test_png.py", line 7, in <module> 
    graph.write_png('graph.png') 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pydot.py", line 1809, in <lambda> 
    lambda path, f=frmt, prog=self.prog : self.write(path, format=f, prog=prog)) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pydot.py", line 1911, in write 
    dot_fd.write(self.create(prog, format)) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pydot.py", line 2023, in create 
    status, stderr_output)) 
pydot.InvocationException: Program terminated with status: 1. stderr follows: Format: "png" not recognized. Use one of: 

logout 

और अब तक मेरी विशेष पर्यावरण के लिए एक सीधी समाधान नहीं मिल सका। मैं इसे कैसे ठीक कर सकता हूं इसके बारे में कोई संकेत? पायथन 2.7 और मैक ओएस एक्स 10.9 के लिए काम करने की आवश्यकता है।

मेरे वर्तमान इंस्टॉल किए गए पैकेज:

cycler==0.9.0 
decorator==4.0.4 
graphviz==0.4.7 
matplotlib==1.5.0 
networkx==1.10 
numpy==1.10.1 
pydot2==1.0.33 
pyparsing==1.5.7 
PyPDF2==1.25.1 
python-dateutil==2.4.2 
pytz==2015.7 
six==1.10.0 
wheel==0.26.0 

मैं सिर्फ https://pythonhaven.wordpress.com/2009/12/09/generating_graphs_with_pydot/

+0

'write_raw' साथ डॉट फ़ाइल डंपिंग, और आदेश मैन्युअल रूप से चलाने की कोशिश करें, यानी' डॉट मिला -Tjpeg -ओ/आउटपुट/फ़ाइल-वी/आपका/डॉट/फाइल'। उस आदेश का आउटपुट क्या है? – memoselyk

+0

@memoselyk मुझे यकीन नहीं है कि डॉट फ़ाइल को 'write_raw' के साथ डंप करके क्या मतलब है, लेकिन' dot-tjpeg - ... 'के लिए आउटपुट है: 'डॉट - ग्राफविज़ संस्करण 2.38.0 (20140413.2041) प्रारूप : "जेपीईजी" पहचाना नहीं गया। इनमें से एक का उपयोग करें: ' – zallaricardo

+1

क्या 'इनमें से एक का उपयोग करें' सूची खाली है? 'Dot -Tjpg: 'के बारे में क्या? आपने dgkg से _graphviz_ को कैसे इंस्टॉल किया है या इसे संकलित किया है (होमब्रू/मैकपोर्ट के साथ)? हो सकता है कि आप इसे [बग] मार रहे हैं (http://www.graphviz.org/content/dot-jpeg-and-mavericks), कृपया ग्राफ़विज़ 2.3 9 आज़माएं। – memoselyk

उत्तर

0

में दिखाया गया है आप pydot2 और pydot स्थापित की स्थापना रद्द करने की कोशिश कर सकते हैं एक ही परिणाम तक पहुँचने के लिए चाहते हैं?

$ pip uninstall pydot2 
$ pip install pydot>=1.2.3 

स्क्रिप्ट में कोई बदलाव के बिना, मैं निम्नलिखित उत्पादन

Graph

संबंधित मुद्दे