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?

13
demandé sur Plug4 2014-03-28 00:12:06

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:

  1. wheel (devrait être présent par défaut dans les distributions plus récentes)
  2. 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.)
  3. the Graphviz installer version 2.38 (pour laquelle la roue ci-dessus est construite)

Suit:

  1. Exécuter Graphviz installer
  2. ajouter le dossier Graphviz\bin à votre chemin d'accès utilisateur ou système
  3. 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.
  4. allez maintenant dans votre environnement Python (par exemple en exécutant anaconda.bat , une invite où vous pouvez exécuter python )
  5. Exécuter pip install pygraphviz‑*$version*-cp34‑none‑win_amd64.whl
  6. Vous avez fait :) ! Exécuter une exemple de script pour voir si tout s'est bien passé.
11
répondu StudioEvoque 2016-12-15 15:41:12

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.

0
répondu implicati0n 2015-01-04 01:22:21

, 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'.

-2
répondu A STEFANI 2017-05-23 12:09:14