Python: problèmes D'Installation avec pygraphviz et graphviz
je vois beaucoup de questions sur les difficultés d'installer correctement pygraphviz
et graphviz
sur Windows pour Python 2.7. Mais aucune réponse que j'ai trouvée ne résout mon problème. Voici ce que j'ai fait:
- j'ai installé pour la première fois pygraphviz en utilisant des binaires windows non officiels
avec ce lien 1519310920" dans mon dossier anaconda (python) (
C:UserschamarAppDataLocalContinuumAnaconda
) - a téléchargé graphviz-2.36.msi et installé sous la défaut
chemin
C:Program Files (x86)Graphviz2.36
La commande import pygraphviz
en Python fonctionne. Mais quand je veux utiliser say cette fonction nx.graphviz_layout
je reçois raise ValueError("Program %s not found in path."%prog)
ce qui peut causer ce problème est que pygraphviz
ne peut pas localiser le chemin de graphviz
. Maintenant, depuis que j'ai installé pygraphviz
en utilisant le binaire non officiel de windows, quel fichier puis-je modifier pour lier à la fois le library
et include
pour le chemin de graphviz
? Vous vous généralement trouver dans le setup.py
de pygraphviz
le library
et include
chemins quand vous n'utilisez pas les binaires non officiels.
UPDATE 1
j'ai ajouté PATH
dans Regedit
sous SOFTWARE
, un dossier GRAPHIZ avec un nouveau key
(par défaut) avec la valeur C:Program Files (x86)Graphviz2.36bin
UPDATE 2
j'avais une erreur dans le fichier pydot.py
concernant la difficulté de Python localisant le chemin de Graphviz. J'ai fait les changements suivants:
def _graphviz():
if os.sys.platform == 'win32':
path = r"C:/Program Files (x86)/Graphviz2.36/bin/"
progs = __find_executables(path)
return progs
find_graphviz()
{'fdp': 'C:/Program Files (x86)/Graphviz2.36/bin/fdp.exe', 'twopi': 'C:/Program Files (x86)/Graphviz2.36/bin/twopi.exe', 'neato': 'C:/Program Files (x86)/Graphviz2.36/bin/neato.exe', 'dot': 'C:/Program Files (x86)/Graphviz2.36/bin/dot.exe', 'circo': 'C:/Program Files (x86)/Graphviz2.36/bin/circo.exe'}
cela me semble correct mais quand j'exécute dire:
positions = nx.graphviz_layout(G, prog='twopi', root=0)
, j'obtiens:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:Userschamar.stuAppDataLocalContinuumAnacondalibsite-packagesnetworkxdrawingnx_agraph.py", line 229, in graphviz_layout
return pygraphviz_layout(G,prog=prog,root=root,args=args)
File "C:Userschamar.stuAppDataLocalContinuumAnacondalibsite-packagesnetworkxdrawingnx_agraph.py", line 264, in pygraphviz_layout
A.layout(prog=prog,args=args)
File "C:Userschamar.stuAppDataLocalContinuumAnacondalibsite-packagespygraphvizagraph.py", line 1305, in layout
data=self._run_prog(prog,' '.join([args,"-T",fmt]))
File "C:Userschamar.stuAppDataLocalContinuumAnacondalibsite-packagespygraphvizagraph.py", line 1251, in _run_prog
runprog=r'"%s"'%self._get_prog(prog)
File "C:Userschamar.stuAppDataLocalContinuumAnacondalibsite-packagespygraphvizagraph.py", line 1239, in _get_prog
raise ValueError("Program %s not found in path."%prog)
ValueError: Program twopi not found in path.
pourquoi?
3 réponses
Voici les étapes que j'ai suivies pour obtenir pygraphviz travaillant pour Python 3.4 (je pense que si vous suivez les étapes analogues, il devrait fonctionner pour Python 2.x). Je le documente juste ici pour les futurs visiteurs de la page:
prérequis:
- wheel (devrait être présent par défaut dans les distributions plus récentes)
- la construction correcte de fenêtres de pygraphviz (constructions non officielles) . Sur Win7 x64, j'ai sélectionné "pygraphviz - $version - cp34-none-win_amd64.whl".
(Notez le
cp34
indiquant la version python.) - the Graphviz installer version 2.38 (pour laquelle la roue ci-dessus est construite)
Suit:
- Exécuter Graphviz installer
- ajouter le dossier Graphviz\bin à votre chemin d'accès utilisateur ou système
- Vérifier : Ouvrez une invite de commande et exécutez
twopi -V
. Vous devriez pouvoir voir la version de Graphviz imprimée sur la console. - allez maintenant dans votre environnement Python (par exemple en exécutant
anaconda.bat
, une invite où vous pouvez exécuterpython
) - Exécuter
pip install pygraphviz‑*$version*-cp34‑none‑win_amd64.whl
- Vous avez fait :) ! Exécuter une exemple de script pour voir si tout s'est bien passé.
vous trouverez des tas de paquets prêts à installer sur ce site: http://www.lfd.uci.edu/~gohlke/ pythonlibs / y compris ceux que vous avez essayé d'installer. Je sais que je suis en retard pour la réponse, mais je viens d'en devenir membre.
, Vous pouvez d'abord installer "easy_install" (regardez comment utiliser" easy_install " de Python sous Windows ... ce n'est pas si facile ) alors 2 paquets sont requis: 'python-pygraph' & 'libgv-python'.