Python: проблемы с установкой pygraphviz и graphviz

я вижу много вопросов о трудностях правильной установки pygraphviz и graphviz в Windows для Python 2.7. Но никакие ответы, которые я нашел, не решают мою проблему. Вот что я сделал:--27-->

  • я впервые установил pygraphviz, используя неофициальные двоичные файлы windows с этим ссылке в моей папке anaconda (python) ( C:UserschamarAppDataLocalContinuumAnaconda )
  • скачал graphviz-2.36.MSI и установил его по умолчанию путь C:Program Files (x86)Graphviz2.36

в команда import pygraphviz в Python работает. Но когда я хочу использовать, скажите эту функцию nx.graphviz_layout Я raise ValueError("Program %s not found in path."%prog)

что может вызвать эту проблему, так это то, что pygraphviz не удается найти путь graphviz. Теперь, так как я установил pygraphviz используя неофициальный двоичный файл windows, который я могу изменить, чтобы связать оба library и include на 'ы? Вы бы вы обычно находите в setup.py of pygraphviz на library и include пути, когда вы не используете неофициальный двоичный код.

обновление 1

я добавил PATH на Regedit под SOFTWARE папка GRAPHIZ с новым key (по умолчанию) со значением C:Program Files (x86)Graphviz2.36bin

обновление 2

у меня была ошибка в блоке pydot.py файл, касающийся сложности Python определения пути Graphviz. Я внес следующие изменения:

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'}

мне кажется, это нормально, но когда я выполняю, говорю:

positions = nx.graphviz_layout(G, prog='twopi', root=0)

I получить:

    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.

почему?

3 ответов


вот шаги, которые я выполнил, чтобы заставить pygraphviz работать на Python 3.4 (я думаю, если вы выполните аналогичные шаги, он должен работать на Python 2.икс.) Я просто документирую его здесь для будущих посетителей страницы:

предпосылки :

  1. колеса (должно присутствовать по умолчанию в новых дистрибутивах)
  2. правильная сборка Windows pygraphviz (неофициальные билды). На Win7 x64 я выбрал "pygraphviz‑ $version - cp34-none-win_amd64.whl". (Примечание cp34 указание версии python.)
  3. Программе Graphviz установки версия 2.38 (для которой построено вышеуказанное колесо)

действия:

  1. запустите установщик Graphviz
  2. добавьте папку Graphviz\bin в путь пользователя или системы
  3. Регистрация: Откройте командную строку и выполните twopi -V. Вы должна быть возможность видеть версию Graphviz, напечатанную на консоли.
  4. Теперь перейдите в свою среду Python (например, запустив anaconda.bat запрос, где вы можете запустить python)
  5. выполнить pip install pygraphviz‑*$version*-cp34‑none‑win_amd64.whl
  6. ты молодец :) ! Запустить пример скрипта чтобы посмотреть, все ли прошло хорошо.

вы найдете множество готовых к установке пакетов на этом сайте:http://www.lfd.uci.edu / ~gohlke / pythonlibs/ включая те, которые вы пытались установить. Я знаю, что слишком поздно с ответом, но я только что стал членом.


вы можете сначала установить "easy_install" (посмотреть Как использовать "easy_install" Python в Windows ... это не так просто) затем требуются 2 пакета: 'python-pygraph' и 'libgv-python'.