Wenn ich einen sehr einfachen Code mit pydot ausführe
import pydot
graph = pydot.Dot(graph_type='graph')
for i in range(3):
edge = pydot.Edge("king", "lord%d" % i)
graph.add_edge(edge)
vassal_num = 0
for i in range(3):
for j in range(2):
edge = pydot.Edge("lord%d" % i, "vassal%d" % vassal_num)
graph.add_edge(edge)
vassal_num += 1
graph.write_png('example1_graph.png')
Es gibt mir die Fehlermeldung:
Couldn't import dot_parser, loading of dot files will not be possible.
Ich benutze Python 2.7.3
python
python-2.7
graphviz
pydot
Sadik
quelle
quelle
pip install pydot2
sollte dieses Problem beheben. Viel schöner als die Verwendung,pip uninstall
denn wenn Sie Code freigeben, können Sie einfach pydot2 zu Ihrer Anforderung.txt hinzufügen, ohne dass Benutzer unbekannte Befehle ausführen.Antworten:
Antwort für
pydot >= 1.1
:Die Inkompatibilität von (upstream)
pydot
wird von fest 6dff94b3f1 , und somitpydot >= 1.1
wird mit kompatibelpyparsing >= 1.5.7
.Antwort gilt für
pydot <= 1.0.28
:Für alle anderen, die darauf stoßen, ist dies auf die Änderungen beim Pyparsing von 1.x auf 2.x zurückzuführen. Um pydot mit pip zu installieren, installieren Sie zuerst die ältere Version von pyparsing:
Wenn Sie nicht
pyparsing
mitpip
, sondern mit installiertsetup.py
haben, sehen Sie sich diese Lösung an, um das Paket zu deinstallieren. Danke @qtips.quelle
sudo pip uninstall
nicht, wenn Sie Ihr Paketpython setup.py install
in diesem Fall installiert haben. Befolgen Sie diese Lösung. Dies war zumindest auf meinem Mountain Lion OSX Mac der Fallsudo
ist offensichtlich nicht immer notwendig, wie wenn Sie eine virtuelle Umgebung verwenden. Davon abgesehen hat das bei mir funktioniert!pip install pyparsing==1.5.7
?Im Pip-Repo gibt es ein neues Paket namens pydot2, das mit pyparsing2 korrekt funktioniert. Ich konnte meine Pakete nicht downgraden, da matplotlib vom neueren Pyparsing-Paket abhängt.
Hinweis: python2.7 von macports
quelle
pydotprint
es funktioniert.pydot verwendete eine private Modulvariable (_noncomma) aus pyparsing. Das folgende Diff behebt es für Pyparsing 2.0.1:
quelle
Ich gabelte das Pydot-Repository [1], wendete den Gabi Davar-Patch und einige Änderungen an, um Python-3 zu unterstützen. Das Paket ist im PyPI [2] verfügbar.
Prost
quelle
pip install...
in der Mitte ohne expliziten Fehler fehlgeschlagen. Sieht aus wie das Manifest und die tatsächlichen Dateien nicht übereinstimmen. Ich checke das Git Repo aus undmv README.rst README
dannpython setup.py install
. Das hat bei mir funktioniert :-)pip install pydot2
funktioniert aber und dieser Link pypi.python.org/pypi/pydot2/1.0.32 funktioniert.$ sudo pip uninstall pydot
$ sudo pip install pydot2
Siehe den folgenden Link: http://infidea.net/troubleshooter-couldnt-import-dot_parser-loading-of-dot-files-will-not-be-possible/
quelle
pip uninstall pydot2
und dannpip install pydot
den Fehler behoben. Hier ist der Link zur richtigen Antwort: github.com/pydot/pydot/issues/166#issuecomment-356066120Die Lösung bestand nicht darin, pydot von irgendwoher zu installieren, sondern "python-pydot" aus offiziellen Ubuntu-Repositories.
quelle
pip install python-pydot
funktioniert bei mir nicht (Distribution nicht gefunden);pip install pydot
tut. Ich denke also nicht, dasspydot
das notwendigerweise inoffiziell ist. Vielleicht haben Sie stattdessen über eine Betriebssystemdistribution installiert?sudo apt-get install python-pydot
habe es für mich getan.python-pyparsing
1.5.2 hat, wodurch die oben aufgeführte Inkompatibilität der Version vermieden wird. Ich habe das oben beschriebene Update durchgeführt und seitdem keine Probleme mehr gehabt. Vielen Dank!Es gibt jetzt mindestens zwei weitere Versionen, die PyParsing-2 und Python-3 unterstützen:
site-packages\pydotplus
,site-packages\pydot
damit er mit vorhandenen Programmen funktioniert, die pydot importieren.quelle
Ich hatte das Problem wieder und meine obige Lösung funktionierte nicht. Wenn dies für Sie zutrifft und Sie Anaconda auch auf einem Mac mit El Capitan verwenden, versuchen Sie Folgendes:
quelle
Was ich am Ende nach so vielen Versuchen von dem gemacht habe, was ich hier gesehen habe (Pseudosequenz, damit es für networkx funktioniert):
quelle
Dies funktionierte bei mir (Mac OS X 10.9 mit Python 2.7.10 unter Anaconda):
Dann,
Pyparsing wird dann bei der Installation von pydot herabgestuft (von 2.x auf 1.5.7). Zukünftige Googler: Dadurch konnte ich Theano korrekt installieren und importieren.
quelle
Unter OSX Mavericks hat Folgendes den Trick gemacht ... Ich habe den gleichen Fehler erhalten, aber unten gab es auch eine Beschwerde, dass die ausführbare Datei von graphviz nicht vorhanden war ... Ich denke, das Problem war, dass ich graphviz vor den anderen Modulen installiert hatte?
quelle
Wenn andere Lösungen nicht funktionieren, ist dies eine schnelle und schmutzige Methode, um das Problem zu lösen:
Dieses Beispiel stammt aus Python 2.7 unter Ubuntu 16.04.
Bearbeiten Sie die Datei python2.7 / site-packages / keras / utils / visualize_util.py und kommentieren Sie das folgende Codesegment.
find_graphviz () ist in neueren Versionen von pydot redundant, und der obige Aufruf funktioniert nicht.
quelle
Ich habe auch das Problem und meinen Pydot == 1.0.28 beim Pyparsing == 2.2.0 getroffen. Ich habe das Problem behoben, indem ich das neueste pydot 1.2.3 (tar.gz) von Google heruntergeladen und dann offline installiert habe. Als ich den Pydot in Ubuntu 14.04 aktualisiert habe, hieß es, der Pydot 1.0.28 sei die neueste Version. Deshalb lade ich von Google die Version 1.2.3 herunter.
quelle
Sie müssen Pyparsing von Version 2.x auf Version 1.5.7 herunterstufen, damit pydot ordnungsgemäß funktioniert.
Für Win-64 mit Conda funktionierte dies für mich:
Ich habe dann die 2.x-Version deaktiviert / deinstalliert und Pyparsing in meinem Skript neu geladen:
So überprüfen Sie, ob die richtige Version ausgeführt wird:
quelle