Pourquoi pydot est incapable de trouver les exécutables de GraphViz dans Windows 8?
J'ai GraphViz 2.32 installé dans Windows 8 et ai ajouté C:Program Files (x86)Graphviz2.32 bin à la variable System PATH. Pydot n'est toujours pas capable de trouver ses exécutables.
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
graph.write_png('example1_graph.png')
File "buildbdist.win32eggpydot.py", line 1809, in <lambda>
lambda path, f=frmt, prog=self.prog : self.write(path, format=f, prog=prog))
File "buildbdist.win32eggpydot.py", line 1911, in write
dot_fd.write(self.create(prog, format))
File "buildbdist.win32eggpydot.py", line 1953, in create
'GraphViz's executables not found' )
InvocationException: GraphViz's executables not found
j'ai trouvé ce https://code.google.com/p/pydot/issues/detail?id=65 mais je n'arrive pas à résoudre le problème.
18 réponses
le problème est que le chemin vers GraphViz n'a pas été trouvé par le module pydot comme indiqué dans le traceback:
'GraphViz\'s exécutables non trouvé"
j'ai résolu ce problème sur ma machine windows 7 en ajoutant le répertoire bin de GraphViz au chemin de mon ordinateur. Puis redémarrer mon IDE python pour utiliser le chemin mis à jour.
- installez GraphViz si vous ne l'avez pas déjà fait (j'ai utilisé le MSI le téléchargement)
- obtenir le chemin pour gvedit.exe (pour moi c'était "C:\Program Fichiers (x86)\Graphviz2.34 \ bin\")
- ajouter ce chemin au chemin de l'ordinateur
- une façon d'obtenir les paramètres d'environnement pour définir votre chemin est de cliquer sur chacun de ces boutons / options de menu: Démarrer - > Ordinateur- > Système propriétés->paramètres avancés->variables d'environnement
- cliquez sur Modifier le chemin de L'utilisateur
- Ajouter cette chaîne à la fin de votre liste de valeurs variables (y compris point-virgule): ; C:\Program Files (x86)\Graphviz2.34 \ bin
- Cliquez sur OK
- redémarrez votre Python IDE
C'est arrivé parce que j'avais installé graphviz après avoir installé pydot. Pydot n'a donc pas pu le trouver. De le réinstaller dans le bon ordre résolu le problème.
dans mon cas, réponse de Sadik pydot et graphviz erreur: ne pouvait pas importer dot_parser, le chargement de fichiers de points ne sera pas possible travaillé pour moi sur Ubuntu 12.04.5 LTS
sudo apt-get install python-pydot
vous avez besoin d'installer à partir de Graphviz et puis juste ajouter le chemin du dossier où vous avez installé Graphviz et son répertoire bin au chemin des environnements système.
j'ai essayé d'ajouter PATH via le Panneau de contrôle, mais il faut aussi redémarrer l'invite de commande. Ce qui suit fonctionne également pour mettre à jour le chemin dans une session de carnet sans quitter:
import os
os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'
Pour windows 8.1 et python 2.7 , j'ai résolu le problème en suivant les étapes ci-dessous
1 . Télécharger et installer graphviz-2.38.msi https://graphviz.gitlab.io/_pages/Download/Download_windows.html
2 . Définir la variable de chemin
Panneau de configuration > système et Sécurité > Système > Paramètres avancés du système > Variables D'environnement > chemin > édition ajouter "C:\Program Files (x86)\Graphviz2.38 \ bin '
- redémarrez votre application en cours d'exécution qui nécessite le chemin
ajouter point.exe sur votre chemin. clic droit sur mon ordinateur > paramètres du système Avancé > variables d'environnement > chemin lumineux > éditer puis ajoutez tout dans les citations au chemin ";C:\Program Files (x86)\Graphviz2.34\bin\" selon L'endroit où vous avez installé Graphviz ofcourse.Puis redémarrez le shell python et tapez.
importer pydot pydot.find_graphviz() Assurez-vous qu'Il ya une barre oblique après " bin " afin qu'il obtient tout de l'intérieur du dossier, j'ai essayé sans la barre oblique et le code ci-dessus n'a rien retourné, cependant après avoir ajouté la barre oblique, il a retourné les exécutables de graphviz dont il avait besoin et leurs chemins.
pour moi: (Win10, Anaconda3) Assurez-vous que vous avez fait "conda installer graphviz"
je dois ajouter au chemin: C:\Users\username\Anaconda3\Library\bin\graphviz
Pour modifier le CHEMIN d'aller à Panneau de configuration > Système et Sécurité > Système > Paramètres Système Avancés > Variables d'Environnement > Chemin > Edition > Nouveau
ASSUREZ-VOUS DE REDÉMARRER VOTRE IDE APRÈS CELA. Il devrait fonctionner
sous Windows, même après avoir installé graphviz-2.38.msi, vous pouvez ajouter votre propre chemin pydot.py (trouvé sous site-Package folder)
if os.sys.platform == 'win32':
# Try and work out the equivalent of "C:\Program Files" on this
# machine (might be on drive D:, or in a different language)
#
if os.environ.has_key('PROGRAMFILES'):
# Note, we could also use the win32api to get this
# information, but win32api may not be installed.
path = os.path.join(os.environ['PROGRAMFILES'], 'ATT', 'GraphViz', 'bin')
else:
#Just in case, try the default...
path = r"C:\PYTHON27\GraphViz\bin" # add here.
moi aussi j'ai eu le même problème et je l'ai finalement résolu en regardant la bibliothèque.
la bibliothèque envisage de faire le chemin défini comme C:\Program fichiers\ATT\Graphviz\bin mais par défaut Graphviz est installé sur C:\Program fichiers (x86)\Graphviz subissant le critère de 32 bits d'où le pydot ne parvient pas à obtenir le chemin requis. Il suffit de déplacer le répertoire tel que requis par le script et vous êtes bon pour aller.
P. S.: - envisager d'apporter des changements équivalents à la Variable Environmnet.
P.S.: - vérifiez également si Graphviz est directement sous Program Files (x86) ou sous ATT.
j'exécute une machine Windows 10 et j'ai eu quelques problèmes, aussi. J'ai installé graphviz via l'installateur msi. Ajouter via les paramètres du système ne m'a pas réussi.
j'ai enlevé l'installation avec le msi et utilisé chocolatey , un gestionnaire de paquets windows. La suppression de la version installée est nécessaire, sinon chocolatey ne s'installera pas.
maintenant, tout va bien. Je recommande de le faire de cette façon.
Voici ce que j'ai fait pour le problème mentionné ci-dessus. J'utilise windows 10 os et python 3.6.5
-
installez PIP par en cliquant ici
-
ouvrez l'invite de commande et tapez la commande "pip installer graphviz"
-
allez sur mon ordinateur(ce pc) et recherchez avec le mot-clé "graphviz"
-
ouvrez le dossier graphviz et copiez son chemin et enregistrez-le dans le bloc-notes
-
Dans graphviz recherchez le dossier bin et copiez le dossier par clic droit de votre souris
-
retournez à mon ordinateur et cherchez "pydotplus"
-
un dossier nommé pydotplus est affiché. Ouvrez-le et collez la copie du dossier bin (de Graphviz) que vous avez copié plus tôt
-
tête à panneau de configuration>système et sécurité> paramètres système> paramètres avancés> variables d'environnement> ajouter un nouveau chemin
-
ajoutez le chemin que vous avez copié dans notepad et cliquez sur une série de "ok"
, c'est maintenant, vous pouvez profiter de l'aide de graphviz
j'ai eu ce problème et j'ai remarqué qu'il imprimait mon chemin avec deux séries de guillemets. J'ai contourné le problème en ajoutant ce qui suit à la ligne 1959 de:
C:\Anaconda\Lib\site-packages\pydot.py
self.progs[prog] = os.path.normpath(self.progs[prog][1:-1])
évidemment pas la meilleure solution mais ça m'a permis de passer la journée.
j'ai trouvé une solution manuelle: sudo apt-get install graphviz
graphique.Ecrivez le test.dot") dot -Tps de test.un porte-à-porte.ps
vous pouvez les fichiers ici: https://github.com/jecs89/LearningEveryDay/tree/master/GP
a essayé toute la séquence d'installation comme décrit dans toutes les solutions / posting / blogs, finalement réalisé anaconda n'a pas été en mesure de lire les variables D'environnement. Fermé Anaconda et Spyder. Puis a ouvert Anaconda en mode administrateur (sur Windows 64 bit OS machine), puis a ouvert Spyder. Le Script fonctionnait bien avec les appels de PYDOT.
Je n'utilise pas de machine windows, je suis sur une plate-forme linux. J'ai parcouru ce problème exécutable-introuvable dans le contexte de l'utilisation du paquet python pyAgrum pour tracer des réseaux bayésiens. pyAgrum utilise graphviz pour tracer les réseaux. J'ai installé pyagrum et graphviz en utilisant la plate-forme anaconda dans un environnement Python 3.6.4 (i.e. conda install <package name>
).
j'ai trouvé les exécutables dans le répertoire /conda/envs/<environment name>/bin
. Donc, c'était juste une question de l'obtention de mon ordinateur portable noyau les trouver.
si vous import os
, utilisez la commande os.environ['PATH'].split(os.pathsep)
pour voir les chemins exécutables dans lesquels votre environnement regarde. Si le chemin contenant vos exécutables graphviz n'est pas là, vous pouvez l'ajouter en faisant ce qui suit: os.environ['PATH'] += os.pathsep + <path to executables>
.
j'imagine que cette solution fonctionnera en dehors de mon contexte. Le principal inconvénient de cette solution est que vous avez besoin de le faire chaque fois que vous redémarrez le noyau.
je travaille sur Windows 10 avec Anaconda 3.6.5. Je n'ai pas les droits admin, donc si quelqu'un est dans les circonstances comme moi cette solution fonctionne parfaitement.
le chemin pour mon graphviz est looks
C:\Users\User_Name\AppData\Local\Continuum\anaconda3\Library\bin\graphviz
dans le type Spyder ou Jupyter:
import os
os.environ['PATH'].split(os.pathsep)
Ceci liste tous les chemins dans votre environnement. Jetez un oeil à eux, si votre chemin graphviz n'est pas là, alors allez le trouver et copiez le chemin, comme ci-dessus dans mon exemple.
Tapez le texte suivant:
os.environ['PATH'] += os.pathsep + 'C:\Users\User_Name\AppData\Local\Continuum\anaconda3\Library\bin\graphviz'
C'est tout, mais notez que vous devez exécuter ces commandes à chaque fois si vous redémarrez le noyau