Исполняемые файлы Graphviz не найдены (Python 3.4)

Я использую Python3.4 в Windows 7. Я пытаюсь использовать интерфейс Python для графической визуализации. Это сценарий, который я собираюсь запустить:

from graphviz import Digraph
import pydotplus

dot = Digraph(comment='The Round Table')

dot.node('A', 'King Arthur')
dot.node('B', 'Sir Bedevere the Wise')
dot.node('L', 'Sir Lancelot the Brave')
dot.edges(['AB', 'AL'])
dot.edge('B', 'L', constraint='false')

print(dot.source)
dot.render('test-output/round-table.gv', view=True)

Я получаю следующую ошибку во время выполнения:

RuntimeError: failed to execute ['dot', '-Tpdf', '-O', 'test-output/round-table.gv'], make sure the Graphviz executables are on your systems' path

Теперь я уверен, что правильно установил правильные зависимости. Сначала я попытался установить правильные переменные среды. Исполняемые файлы graphviz находятся в C:\Program Files (x86)\Graphviz2.37\bin, поэтому я перешел к разделу переменных среды. Там есть два раздела: Пользовательские переменные и Системные переменные. В разделе «Системные переменные» я щелкнул Путь, затем щелкнул Edit и добавил ;C:\Program Files (x86)\Graphviz2.37\bin в конец строки и сохранил . Это не устранило ошибку.

Затем, следуя приведенному здесь ответу Я удалил pydot (на самом деле я использую здесь pydotplus) и снова установил его, но все равно безуспешно.

Я часами пытался это исправить, и вся эта переменная PATH просто сбивает с толку и расстраивает.


person Morteza R    schedule 04.02.2015    source источник


Ответы (30)


У меня также была эта проблема на Ubuntu 16.04.

Исправлено запуском sudo apt-get install graphviz в дополнение к установке pip, которую я уже выполнил.

person tom4everitt    schedule 20.04.2017

В моем случае (ноутбук Win10, Anaconda3, Jupyter) после "conda install graphviz" я должен добавить в PATH: C:\Users\username\Anaconda3\Library\bin\graphviz

Чтобы изменить PATH, перейдите к Control Panel > System and Security > System > Advanced System Settings > Environment Variables > Path > Edit > New

person Silvia Bakalova    schedule 18.08.2016
comment
У меня это сработало (Python 3.5 на Win10, Anaconda3, PyCharm) - person MohaMad; 04.06.2017
comment
у меня не сработало (хотя все бинарные файлы графвиза можно найти в .\Anaconda\Library\bin\graphviz) - person Tanguy; 04.04.2018
comment
Мой путь был: C:\ProgramData\Anaconda3\Library\bin\graphviz - person The Red Pea; 17.07.2019
comment
Мне пришлось перезагрузить компьютер, чтобы PyCharm использовал новый путь. - person Kim Kern; 25.07.2019
comment
Pycharm 2019.3, Anaconda 3, пришлось установить graphviz и python-graphviz (Файл › Настройки › поиск Interpreter), а затем вручную добавить путь Library\bin\graphviz - person Alaa M.; 14.12.2019

Поскольку Mac OS не упоминалась, я добавлю, что у меня была такая же проблема в OS X Yosemite, решение, которое я нашел, состояло в том, чтобы сделать brew install graphviz

Это решило проблему, не уверен, что мне не стоило просто редактировать один из других ответов в этом списке, потому что все они кажутся одним и тем же ответом, просто установите официальный пакет в дополнение к библиотеке Python.

person Veggiet    schedule 26.05.2017
comment
Большое спасибо, это также работает в OS X Mojave, кажется, что команда установки pip работает только с путями инструмента как обертки, но настоящие исполняемые файлы должны быть установлены вручную, в данном случае с помощью brew. - person le0diaz; 07.11.2018
comment
Также работаю над Каталиной - person Simon; 06.12.2020

На ноутбуке jupyter (ipython) с anaconda в win10 я решил проблему conda install graphviz после того, как установил graphviz pip install graphviz

person Plory.Truck    schedule 06.04.2016
comment
Windows 8.1 x64 с Python 3.5.1 :: Anaconda 4.0.0 (64-разрядная версия) после установки pip смогла установить conda, и это решило мою проблему. это немного вводит в заблуждение, что в нем говорится, что нужно только установить pip, чтобы начать работу с graphviz, потому что вам определенно нужно установить оба способа - person flux9998; 15.05.2016

Я решил установить его непосредственно из https://graphviz.gitlab.io/_pages/Download/Download_windows.html и включить в путь Windows:

C:\Program Files (x86)\Graphviz2.38\bin

C:\Program Files (x86)\Graphviz2.38

После перезапуска виндовс

person Aris    schedule 16.11.2016
comment
Это сработало для меня только с первой строкой, добавленной к пути, и без необходимости перезапуска Windows (только IDE). Спасибо за совет! - person Irina; 13.02.2018

когда вы добавляете C:\Program Files (x86)\Graphviz2.38\bin в PATH, вы должны закрыть свою среду IDE, такую ​​​​как spyder, и перезапустить, вы решите «RuntimeError: убедитесь, что исполняемые файлы Graphviz находятся в ваших системах. ' дорожка"

person JackChen    schedule 25.03.2017

Чтобы решить эту проблему, после успешной установки graphviz2.38 добавьте переменную PATH в системный путь. В разделе «Системные переменные» вы можете щелкнуть «Путь», затем нажать «Изменить» и добавить; C:\Program Files (x86)\Graphviz2.38\ bin в конец строки и сохранен. После этого перезапустите pythonIDE, как шпион, и все заработает.

Не забудьте закрыть Spyder, а затем перезапустить.

person JackCHEN    schedule 06.04.2017

Если вы используете Win10, установите Graphviz, а затем используйте следующую команду, чтобы добавить путь.

import os
os.environ["PATH"] += os.pathsep + 'C:\Program Files (x86)\Graphviz2.38/bin/'
person Regi Mathew    schedule 18.06.2018

Обратите внимание, что я использую Windows 10. Некоторое из следующего может быть применимо или не применимо к другим версиям Windows или операционных систем:

** Примечание 2: **
"адрес bin-файла Graphviz на ваша система» может быть C:\Program Files (x86)\Graphviz2.38\bin или любой другой путь, по которому вы установили Graphviz туда.

У нас проблема не только с Graphviz, но и с другими внешними EXE-файлами, которые мы хотим использовать в Jupyter.
Причина в том, что когда jupyter хочет импортировать пакет, он ищет его в рабочем каталоге, а когда ему не удается найти пакет, он возвращает такие ошибки.
Что мы можем решить эту проблему следующим образом:
1) проверьте, установлен ли Graphviz в вашей системе, и если нет, вы можете загрузить и установить его с:

https://graphviz.gitlab.io/_pages/Download/Download_windows.html
а затем установите его. Когда вы устанавливаете Graphviz, имейте в виду, куда (в какую папку) вы его устанавливаете. Если вы видите указанную выше ошибку при использовании

import graphviz

тогда у вас есть несколько вариантов:

2) вы можете вызвать файл .exe в ipynb через

import os
os.environ["PATH"] += os.pathsep + r'the Graphviz bin file address on your system'

По моему опыту, это работает только для того же ipynb, с которым я работаю, и каждый раз, когда я открываю блокнот, мне нужно вызывать эти строки кода.

3) Если вы хотите, чтобы Jupyter нашел исполняемый файл, вам нужно указать путь к среде.
В Windows 10 вы можете сделать это, выбрав:
Панель управления > Система и безопасность > Система > Дополнительные параметры системы > Переменные среды > Путь > Изменить > Создать
, а затем добавить «адрес bin-файла Graphviz в вашей системе». В Windows 8 или более ранней версии перейдите в:
Панель управления > Система и безопасность > Система > Расширенные системные настройки > Переменные среды
, а затем добавьте ;(точка с запятой) + "адрес bin-файла Graphviz в вашей системе" в конец строки пути
Примечание: не забудьте перезагрузить компьютер.

4) и даже это не работает, определите переменную, выбрав:
Панель управления > Система и безопасность > Система > Дополнительные параметры системы > Переменные среды, а затем:

Начать определение переменной среды

Затем определите следующую переменную: Не забудьте назвать переменную Graphviz

Не забудьте назвать переменную Graphviz. Наконец, перезагрузите компьютер и надейтесь, что это сработает.

person Afshin Amiri    schedule 03.07.2018

Я столкнулся с той же проблемой в Jupyter Notebook. Добавьте это, и все готово.

import os

os.environ['PATH'] = os.environ['PATH']+';'+os.environ['CONDA_PREFIX']+r"\Library\bin\graphviz"
person Geekquad    schedule 22.06.2020

Просто установите

conda install graphviz

затем установите

conda install -c conda-forge pydotplus
person Shersha Fn    schedule 26.06.2017

Для Windows 8.1 и Python 2.7 я исправил проблему, выполнив следующие шаги.

1 . Загрузите и установите graphviz-2.38.msi http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.38.msi

2 . Установите переменную пути

  • Панель управления> Система и безопасность> Система> Дополнительные параметры системы> Переменные среды> Путь> Изменить
  • добавить 'C:\Program Files (x86)\Graphviz2.38\bin'
person Jayani Sumudini    schedule 29.07.2017

Судя по всему, у Graphviz2.37 есть проблемы с переменной PATH в Windows. Я удалил его, удалил связанные с ним переменные среды и вместо этого загрузил и установил более новую бета-версию 2.39, и теперь она работает как шарм.

person Morteza R    schedule 04.02.2015
comment
По ссылке нет загрузок - person Anagha; 21.04.2017
comment
я получаю: Страница не найдена Запрошенная страница не может быть найдена. - person Anagha; 21.04.2017
comment
Загрузите отсюда — graphviz.gitlab.io/_pages/Download/Download_windows.html - person rishi jain; 19.07.2020

Я попытался настроить переменную среды. Не сработало. Я нахожусь в среде Windows. У меня сработало сочетание вышеперечисленных методов:

  1. Загруженный graphviz-2.38.zip из https://graphviz.gitlab.io/_pages/Download/Download_windows.html

  2. Скопировал извлеченную папку в C:\Users\\AppData\Local\Continuum\anaconda3\pkgs\Graphviz2.38

  3. Я назвал местоположение Graphviz в своем коде

    Построить классификатор

    import sklearn.datasets as datasets
    import pandas as pd
    from sklearn.tree import DecisionTreeClassifier
    iris=datasets.load_iris()
    df=pd.DataFrame(iris.data, columns=iris.feature_names)
    y=iris.target
    
    dtree=DecisionTreeClassifier()
    dtree.fit(df,y)
    

    Построить дерево

    from sklearn.externals.six import StringIO  
    from IPython.display import Image  
    from sklearn.tree import export_graphviz
    import pydotplus
    import graphviz
    import os
    os.environ\["PATH"\] += os.pathsep + 'C:/Users/tstusr/AppData/Local/Continuum/anaconda3/pkgs/Graphviz2.38/bin'
    
    dot_data = StringIO()
    export_graphviz(dtree, out_file=dot_data,  
                    filled=True, rounded=True,
                    special_characters=True)
    graph = pydotplus.graph_from_dot_data(dot_data.getvalue())  
    Image(graph.create_png())
    

    Вот как выглядит дерево:

введите здесь описание изображения

person Jagannath Banerjee    schedule 03.01.2020
comment
получение синтаксической ошибки для строки пути - SyntaxError: неожиданный символ после символа продолжения строки - person rishi jain; 19.07.2020

Я использую Windows 10, Python 3.6 на Anaconda 3 и столкнулся с той же проблемой.

У меня это сработало, выполнив последовательно следующие действия:

  1. Из терминала Anaconda: pip install pydotplus
  2. Из терминала Anaconda: conda install pydotplus
  3. Из терминала Anaconda: pip install graphviz
  4. Из терминала Anaconda: conda install graphviz
  5. Пошел в среду Windows Varialbes, PATH и добавил расположение моего файла dot.exe в каталоге graphviz в Anaconda.

работал нормально после этого.

person mazazino    schedule 15.02.2018

Я столкнулся с той же проблемой, пытаясь создать дерево решений с помощью pydotplus и graphviz. И использовал метод переменной пути для решения этой проблемы.

Ниже приведены точные шаги, которые я использовал:

  1. Хотя у меня уже был графвиз через команду установки conda, я повторно загрузил последний пакет по указанному ниже пути. https://graphviz.gitlab.io/_pages/Download/Download_windows.html Загружено: graphviz-2.38.zip (стабильная версия)

  2. Скопировал извлеченную папку по следующему пути на диск C:. C:\Program Files (x86)\

  3. Изменена системная переменная пути и добавлен следующий путь к ней. Переменная пути: Панель управления > Система и безопасность > Система > Расширенные настройки системы > Переменная среды > Путь C:\Program Files (x86)\graphviz-2.38\release\bin;

  4. После добавления вышеуказанного пути к переменной среды перезапустите систему.

  5. Это сработало нормально, и я смог создать дерево решений в png.

    введите здесь описание изображения

person Sonu Kumari Sharma    schedule 02.03.2020

У меня была такая же проблема с Windows 10.

Сначала я без проблем установил graphviz-2.38.0 с помощью следующей команды...

install -c anaconda graphviz=2.38.0

Во-вторых, я без проблем установил pydotplus с помощью следующей команды...

install -c conda-forge pydotplus

После этого, когда я добрался до своего шага, чтобы визуализировать мое дерево решений, возникла следующая проблема с {InvocationException: GraphViz's executables not found}...

C:\Users\admin\Anaconda3\lib\site-packages\pydotplus\graphviz.py in create(self, prog, format)
   1958             if self.progs is None:
   1959                 raise InvocationException(
-> 1960                     'GraphViz\'s executables not found')
   1961 
   1962         if prog not in self.progs:

InvocationException: GraphViz's executables not found

В моем случае все, что мне нужно было сделать, чтобы исправить это, — это поместить путь к исполняемым файлам graphviz в мою пользовательскую переменную среды PATH, и это исправило ее. Просто убедитесь, что это путь, по которому находятся YOUR.exe файлов :)

C:\Users\admin\Anaconda3\pkgs\graphviz-2.38.0-4\Library\bin\graphviz
person njgiv    schedule 22.04.2017

Пробовал много способов, и вот что действительно решило проблему - это работало как для Windows 8.1/10, так и для Python 3.

1 . pip установить графвиз

2 . необходимо выполнить ключевое действие, чтобы установить переменную пути, выполнив следующие шаги:

а. Панель управления > Система и безопасность > Система > Дополнительные параметры системы > Переменные среды > Путь > Изменить b. добавить 'C:\Program Files (x86)\Graphviz2.38\bin'

person James Cao    schedule 08.11.2019

Пытаться

import os

os.environ['PATH']=os.environ['PATH']+';'+os.environ['CONDA_PREFIX']+r"\Library\bin\graphviz"
person Sanya Jain    schedule 10.10.2020
comment
Я пробовал все другие решения, но это сработало для меня. - person MANEESH MOHAN; 26.05.2021

У меня была такая же проблема в Ubuntu (14.04) с Jupyter.

Чтобы решить эту проблему, я добавил точечную библиотеку в python sys.path.

Первое: проверьте, установлена ​​ли точка,

Затем: найти его путь whereis dot -> /local/notebook/miniconda2/envs/ik2/bin/dot

Наконец, в скрипте Python: sys.path.append("/local/notebook/miniconda2/envs/ik2/bin/dot")

person nono    schedule 07.06.2016

Пожалуйста, используйте pydotplus вместо pydot

  1. Найти:C:\Users\zhangqianyuan\AppData\Local\Programs\Python\Python36\Lib\site-packages\pydotplus

  2. Открыть graphviz.py

  3. Найдите строку 1925 - строку 1972, найдите функцию:

    def create(self, prog=None, format='ps'):
    
  4. В функции найти:

    if prog not in self.progs:
        raise InvocationException(
            'GraphViz\'s executable "%s" not found' % prog)
    
    if not os.path.exists(self.progs[prog]) or \
            not os.path.isfile(self.progs[prog]):
        raise InvocationException(
            'GraphViz\'s executable "{}" is not'
            ' a file or doesn\'t exist'.format(self.progs[prog])
        )
    
  5. Между двумя блоками добавьте это (путь к исполняемому файлу Graphviz):

      self.progs[prog] = "C:/Program Files (x86)/Graphviz2.38/bin/gvedit.exe"`
    
  6. После добавления результат:

    if prog not in self.progs:
        raise InvocationException(
            'GraphViz\'s executable "%s" not found' % prog)
    
    self.progs[prog] = "C:/Program Files (x86)/Graphviz2.38/bin/gvedit.exe"
    
    if not os.path.exists(self.progs[prog]) or \
            not os.path.isfile(self.progs[prog]):
        raise InvocationException(
            'GraphViz\'s executable "{}" is not'
            ' a file or doesn\'t exist'.format(self.progs[prog])
        )
    
  7. сохраните измененный файл, после чего вы сможете успешно запустить его.

  8. вам лучше сохранить его как файл bmp, потому что файл png не будет работать. картинка здесь

person 张乾元    schedule 04.04.2019
comment
Почему дважды один и тот же ответ «почему pydot не может найти исполняемые файлы graphvizs в Windows 8»> stackoverflow.com/questions/18438997/ (т.е. двойное обслуживание), лучше связать с другим ответом. - person albert; 05.04.2019

Я не уверен, что это ответ на ЭТОТ вопрос, но это также похоже на вопрос «как мне заставить graphviz работать на моей установке?» нить. Я также нигде не видел упоминания python-graphviz.

Таким образом: Ubuntu 16.04, conda Python 3.7, с использованием ноутбуков Jupyter.

conda install -c anaconda graphviz
conda install -c conda-forge python-graphviz

Изображения не отображались после попытки только первой команды; они сделали рендеринг после запуска второго.

Я также установил pydot-plus, но не заметил никаких изменений в поведении, производительности или разрешении изображения.

person Evan    schedule 08.11.2019

Я очень долго застрял на этой проблеме, но через какое-то время я нашел решение:

  • pip установить графвиз
  • conda установить графвиз
  • Теперь снова установите graphviz из =› https://graphviz.org/_pages/Download/Download_windows.html (файл MSI)
  • После завершения установки задайте путь => C:\Program Files (x86)\Graphviz2.38\bin;
person sauravjoshi23    schedule 06.07.2020

Для всех тех, кто столкнулся с этой проблемой в Windows 10, даже после выполнения вышеупомянутых шагов, это сработало для меня. Для пользователей Windows 10, пытающихся отладить эту же ошибку, запустите CMD от имени администратора (важно!) и запустите dot -c, а затем запустите dot -v
Это решило проблему для меня

person Marcus Richard    schedule 05.08.2020

Самое простое решение, которое сработало для меня (Windows 10, Jupyter Notebook) для этой проблемы, — это сделать следующее:

  1. pip установить графвиз
  2. перезапустить юпитер
  3. Поместите следующий код в блокнот и выполните:
import sys

sys.path.append('C:/Users/usrname/AppData/Local/Continuum/anaconda3/Library/bin/graphviz/')
person DesiKeki    schedule 22.08.2020

Это свежее решение, которое я использовал :)

У меня такая же проблема, я использую Anaconda и Jupyter Notebook.

То, что я сделал, чтобы решить эту проблему, НЕ устанавливал Graphiz.zip из Интернета!

Я только что сделал следующие шаги:

  1. Создайте новую среду с помощью ››conda create -n [env_name]
  2. установите библиотеку graphviz внутри этой новой среды: ›› conda install graphviz
  3. Я записал эти строки в ячейку блокнота и запустил import os os.environ['PATH'] = os.environ['PATH']+';'+os.environ['CONDA_PREFIX']+r"\Library\bin\graphviz"

Наконец-то изображение появилось, для этого я сделал небольшую вечеринку, потому что у меня это заняло 3 дня :(

person Weheid    schedule 06.10.2020

Для меня (Windows 10 + Pycharm2020) это сработало:

  • Добавлено C:\Program Files\Graphviz\bin в PATH (путь к двоичным файлам Graphviz)
  • Перезагрузка. Возможно, перезапуска PyCharm будет достаточно.
person Vlade    schedule 01.03.2021

Я только что встретил ту же проблему. И вот мои решения.

1.) установить графвиз

убедитесь, что вы можете найти эту папку INSTALL_LOCATION\Graphviz2.38\bin

2.) Для объекта Dot добавьте этот код

dot.set_graphviz_executables( {'dot': r'C:\Program Files\Graphviz\bin\dot.exe'})

В graphviz.py эта функция позволяет вручную указать путь к исполняемому файлу. Затем вы сможете запустить код.

К вашему сведению: вот описание из set_graphviz_executables

    This method allows to manually specify the location of the GraphViz
    executables.

    The argument to this method should be a dictionary where the keys are
    as follows:

        {'dot': '', 'twopi': '', 'neato': '', 'circo': '', 'fdp': ''}

    and the values are the paths to the corresponding executable,
    including the name of the executable itself.
person Patrick C    schedule 09.03.2021

Полные шаги по настройке Graphviz для Anaconda — Jupiternotebook:

Загрузите и установите «EXE-установщик для Windows 10» со страницы: https://graphviz.org/download/.

Переменная среды: добавьте C:\Program Files\Graphviz 2.44.1\bin в путь пользователя.

Переменная среды: добавьте C:\Program Files\Graphviz 2.44.1\bin\dot.exe в системный путь.

Проверьте эти шаги после установки graphviz:

  1. pip установить графвиз.
  2. pip установить pydotplus
  3. конда установить pydotplus
  4. Добавьте путь к переменным окружения (C:\Users‹username›\anaconda3\Library\bin\graphviz)
  5. Перезапустите ядро ​​ноутбука Anaconda Jupiter (если оно уже запущено).
person fenix_fdr    schedule 22.06.2021

Я решил эту проблему, сначала удалив все установленные версии pydot, pydotplus и graphvis с помощью

pip uninstall pydot 
pip uninstall pydotplus
pip uninstall graphviz

Затем я переустановил их с помощью:

conda install graphviz
conda install pydot
conda install pydotplus
person Baya Lina    schedule 22.06.2021