Quand j'exécute un code très simple avec pydot
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')
Il m'imprime le message d'erreur:
Couldn't import dot_parser, loading of dot files will not be possible.
J'utilise python 2.7.3
python
python-2.7
graphviz
pydot
Sadik
la source
la source
pip install pydot2
devrait résoudre ce problème. Beaucoup plus agréable que d'utiliser,pip uninstall
car si vous partagez du code, vous pouvez simplement ajouter pydot2 à votre requirements.txt et ne pas laisser les utilisateurs exécuter des commandes inconnues.Réponses:
Réponse pour
pydot >= 1.1
:L'incompatibilité de (amont)
pydot
a été corrigée par 6dff94b3f1 , etpydot >= 1.1
sera donc compatible avecpyparsing >= 1.5.7
.Réponse applicable à
pydot <= 1.0.28
:Pour quiconque rencontre cela, cela est dû aux changements de pyparsing de 1.x à la version 2.x. Pour installer pydot à l'aide de pip, installez d'abord l'ancienne version de pyparsing:
Si vous n'avez pas installé en
pyparsing
utilisantpip
, mais que vous l'avez utilisésetup.py
, jetez un œil à cette solution pour désinstaller le package. Merci @qtips.la source
sudo pip uninstall
ne fonctionne pas si vous avez installé votre package en utilisantpython setup.py install
dans ce cas, suivez cette solution. C'était au moins le cas sur mon Mac OSX Mountain Lionsudo
n'est évidemment pas toujours nécessaire, comme si vous utilisez un virtualenv. A part ça, cela a fonctionné pour moi!pip install pyparsing==1.5.7
?Il existe un nouveau package dans le repo pip appelé pydot2 qui fonctionne correctement avec pyparsing2. Je n'ai pas pu rétrograder mes packages car matplotlib dépend du nouveau package pyparsing.
Remarque: python2.7 de macports
la source
pydotprint
travailler.pydot a utilisé une variable de module privé (_noncomma) de pyparsing. Le diff ci-dessous le corrige à utiliser pour pyparsing 2.0.1:
la source
J'ai bifurqué le référentiel pydot [1], appliqué le patch Gabi Davar et quelques modifications pour prendre en charge python-3. Le package est disponible dans le PyPI [2].
À votre santé
la source
pip install...
échoué au milieu sans erreur explicite. Il semble que le manifeste et les fichiers réels ne correspondent pas. Je vérifie le repo git,mv README.rst README
puispython setup.py install
. Cela a fonctionné pour moi :-)pip install pydot2
fonctionne et ce lien, pypi.python.org/pypi/pydot2/1.0.32 , fonctionne.$ sudo pip uninstall pydot
$ sudo pip install pydot2
Voir le lien suivant: http://infidea.net/troubleshooting-couldnt-import-dot_parser-loading-of-dot-files-will-not-be-possible/
la source
pip uninstall pydot2
et ensuitepip install pydot
pour corriger l'erreur. Voici le lien sur la bonne réponse: github.com/pydot/pydot/issues/166#issuecomment-356066120La solution n'était pas d'installer pydot de quelque part, mais "python-pydot" à partir des dépôts officiels ubuntu.
la source
pip install python-pydot
ne fonctionne pas pour moi (distribution non trouvée);pip install pydot
Est-ce que. Alors je ne pense pas que ce soit çapydot
soit nécessairement officieux. Peut-être que vous installiez plutôt via une distribution OS?sudo apt-get install python-pydot
je l'ai fait pour moi.python-pyparsing
à 1.5.2, ce qui évite l'incompatibilité de version répertoriée ci-dessus. J'ai choisi le correctif ci-dessus et je n'ai pas eu de problèmes depuis. Merci!Il existe maintenant au moins 2 autres versions qui semblent prendre en charge PyParsing-2 et Python-3:
site-packages\pydotplus
àsite-packages\pydot
pour qu'il fonctionne avec les programmes existants qui importent pydot.la source
J'ai eu à nouveau le problème et ma solution ci-dessus n'a pas fonctionné. Si cela est vrai pour vous et que vous utilisez également Anaconda sur un Mac avec El Capitan, essayez ceci:
la source
Ce que j'ai fait à la fin après tant d'essais d'après ce que j'ai vu ici (pseudo séquence pour que cela fonctionne pour networkx):
la source
Cela a fonctionné pour moi (Mac OS X 10.9 avec Python 2.7.10 sur Anaconda):
Ensuite,
Pyparsing est ensuite rétrogradé (de 2.x à 1.5.7) lors de l'installation de pydot. Futurs Googleurs: cela m'a permis d'installer et d'importer Theano correctement.
la source
Sur OSX Mavericks, ce qui suit a fait l'affaire ... J'ai eu la même erreur mais en bas il y avait aussi une plainte que l'exécutable graphviz n'était pas présent ... Je pense que le problème était que j'avais installé graphviz avant les autres modules?
la source
Lorsque d'autres solutions ne fonctionnent pas, il s'agit d'une méthode rapide et sale pour résoudre le problème:
Cet exemple provient de python 2.7 sur Ubuntu 16.04.
Modifiez le fichier python2.7 / site-packages / keras / utils / visualize_util.py et commentez le segment de code ci-dessous.
find_graphviz () est redondant sur les nouvelles versions de pydot, et l'appel ci-dessus ne fonctionne pas.
la source
J'ai également rencontré le problème et mon pydot == 1.0.28 en pyparsing == 2.2.0. J'ai résolu le problème en téléchargeant le dernier pydot 1.2.3 (tar.gz) à partir de Google, puis en l'installant hors ligne. Quand j'ai mis à jour le pydot dans ubuntu 14.04, il a dit que le pydot 1.0.28 était la dernière version. Par conséquent, je télécharge sur google la version 1.2.3.
la source
Vous devez rétrograder pyparsing de la version 2.x à la version 1.5.7 pour que pydot fonctionne correctement.
Pour win-64, en utilisant Conda, cela a fonctionné pour moi:
J'ai ensuite désactivé / désinstallé la version 2.x et rechargé pyparsing dans mon script:
Pour vérifier si vous avez la bonne version en cours d'exécution:
la source