Графические исполняемые файлы не найдены (Python 3.4)
Я запускаю Python3.4 в Windows 7. Я пытаюсь использовать интерфейс Python для graphviz. Это script я намерен запустить:
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 просто путается и расстраивает.
Ответы
Ответ 1
Как представляется, известно, что в Graphviz2.37 есть проблемы с переменной PATH в Windows. Я удалил его, удалил переменные окружения, связанные с ним, и вместо этого скачал и установил более новую бета-версию 2.39, и теперь она работает как чудо.
Ответ 2
В моем случае (Win10, Anaconda3, Jupyter notebook) после "conda install graphviz"
мне нужно добавить в PATH: C:\Users\username\Anaconda3\Library\bin\graphviz
Чтобы изменить PATH goto Control Panel > System and Security > System > Advanced System Settings > Environment Variables > Path > Edit > New
Ответ 3
На jupyter (ipython) ноутбуке с anaconda в win10 я решил проблему conda install graphviz
после того, как я установил graphviz pip install graphviz
Ответ 4
У меня также была проблема с Ubuntu 16.04.
Исправлено при запуске sudo apt-get install graphviz
в дополнение к установке pip, которую я уже выполнил.
Ответ 5
когда вы добавляете C:\Program Files (x86)\Graphviz2.38\bin в PATH, тогда вы должны закрыть среду IDE, такую как spyder и restart, вы решите "RuntimeError: убедитесь, что исполняемые файлы Graphviz на пути к вашим системам"
Ответ 6
Я решил установить его непосредственно из https://graphviz.gitlab.io/_pages/Download/Download_windows.html
и включить в путь к окну:
C:\Program Files (x86)\Graphviz2.38\bin
C:\Program Files (x86)\Graphviz2.38
После перезапуска Windows
Ответ 7
Чтобы решить эту проблему, когда вы успешно установите graphviz2.38, добавьте переменную PATH в системный путь. В системные переменные вы можете нажать "Путь", а затем нажать "Изменить" и добавить: C:\Program Files (x86)\Graphviz2.38\bin до конца строки и сохранить. После этого перезапустите свой pythonIDE, как spyper, тогда он работает хорошо.
Не забудьте закрыть Spyder и перезагрузиться.
Ответ 8
Поскольку Mac OS не упоминается, я добавлю, что у меня была такая же проблема для OS X Yosemite, решение, которое я нашел, состояло в том, чтобы сделать brew install graphviz
Это решило проблему, не уверен, что я не должен был просто редактировать один из других ответов в этом списке, потому что все они кажутся одинаковыми, просто установите официальный пакет в дополнение к библиотеке Python.
Ответ 9
Для Windows 8.1 и python 2.7 я исправил проблему, выполнив следующие шаги
1. Загрузите и установите graphviz-2.38.msi http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.38.msi
2. Задайте переменную пути
- Панель управления > Система и безопасность > Системa > Расширенные системные настройки > Переменные среды > Путь > Изменить
- добавить 'C:\Program Files (x86)\Graphviz2.38\bin'
Ответ 10
У меня была такая же проблема с Windows 10.
Сначала я установил graphviz-2.38.0
со следующей командой без проблем...
install -c anaconda graphviz=2.38.0
Во-вторых, я установил pydotplus
со следующей командой без проблем...
install -c conda-forge pydotplus
После этого, когда я добрался до своего шага для визуализации моего дерева решений, возникла следующая проблема с {InvocationException: GraphViz 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\ executables not found')
1961
1962 if prog not in self.progs:
InvocationException: GraphViz executables not found
В моем случае все, что я должен был сделать, чтобы исправить это, заключается в том, чтобы поместить путь среды к исполняемым файлам graphviz
в мою переменную окружения user PATH
, и это исправило это. Просто убедитесь, что это путь, в котором находятся файлы YOUR.exe
:)
C:\Users\admin\Anaconda3\pkgs\graphviz-2.38.0-4\Library\bin\graphviz
Ответ 11
Просто установите
conda install graphviz
затем установите
conda install -c conda-forge pydotplus
Ответ 12
Если вы используете Win10, установите Graphviz и затем используйте следующую команду, чтобы добавить путь.
import os
os.environ["PATH"] += os.pathsep + 'C:\Program Files (x86)\Graphviz2.38/bin/'
Ответ 13
Обратите внимание, что я использую 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) и даже если это не работает, определите переменную, идущую в:
Панель управления> Система и безопасность> Система> Дополнительные параметры системы> Переменные среды, а затем:
![Start to define an environmental variable]()
Затем определите переменную следующим образом: ![Remember to name the variable Graphviz]()
Не забудьте назвать переменную Graphviz. Наконец перезагрузите ваш компьютер и надеюсь, что он работает.
Ответ 14
У меня была такая же проблема на Ubuntu (14.04) с Jupyter.
Чтобы решить эту проблему, я добавил библиотеку точек в python sys.path
Сначала: проверьте, установлена ли точка,
Тогда:
найти свой путь whereis dot
→ /local/notebook/miniconda2/envs/ik2/bin/dot
Наконец, в python script: sys.path.append( "/local/notebook/miniconda2/envs/ik2/bin/dot" )
Ответ 15
Я использую Windows 10, Python 3.6 на Anaconda 3 и столкнулся с той же проблемой.
Я работал, выполняя следующие действия:
- От терминала Anaconda: pip install pydotplus
- От терминала Anaconda: conda install pydotplus
- От терминала Anaconda: pip install graphviz
- От терминала Anaconda: conda install graphviz
- Перешел в среду Windows Varialbes, PATH и добавил местоположение моего файла dot.exe в каталоге graphviz в Anaconda.
работал после этого.
Ответ 16
Пожалуйста, используйте pydotplus вместо pydot
-
Найти: C:\Users\zhangqianyuan\AppData\Local\Programs\Python\Python36\Lib\site-packages\pydotplus
-
Открыть graphviz.py
-
Найти строку 1925 - строка 1972, найти функцию:
def create(self, prog=None, format='ps'):
-
В функции найдите:
if prog not in self.progs:
raise InvocationException(
'GraphViz\ executable "%s" not found' % prog)
if not os.path.exists(self.progs[prog]) or \
not os.path.isfile(self.progs[prog]):
raise InvocationException(
'GraphViz\ executable "{}" is not'
' a file or doesn\'t exist'.format(self.progs[prog])
)
-
Между двумя блоками добавьте это (ваш путь к исполняемому файлу Graphviz):
self.progs[prog] = "C:/Program Files (x86)/Graphviz2.38/bin/gvedit.exe"'
-
После добавления получается результат:
if prog not in self.progs:
raise InvocationException(
'GraphViz\ 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\ executable "{}" is not'
' a file or doesn\'t exist'.format(self.progs[prog])
)
-
сохраните измененный файл, и вы сможете запустить его успешно.
-
Вам лучше сохранить его как файл BMP, потому что файл PNG не будет работать. картина здесь