«RuntimeError: убедитесь, что исполняемые файлы Graphviz находятся на пути к вашей системе» после установки Graphviz 2.38.


138

Я скачал Graphviz 2.38версию MSI и установил ее в папку C:\Python34, затем запустил pip install Graphviz, все прошло хорошо. В системном пути я добавил C:\Python34\bin. Когда я попытался запустить тестовый скрипт в очереди filename=dot.render(filename='test'), я получил сообщение

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

Я попытался ввести "C:\Python34\bin\dot.exe"системный путь, но это не сработало, и я даже создал новую переменную среды "GRAPHVIZ_DOT"со значением "C:\Python34\bin\dot.exe", которая все еще не работает. Я попытался удалить Graphviz, а pip uninstall graphvizзатем переустановить его и снова установить pip, но ничего не работает.

Полное сообщение трассировки:

Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\graphviz\files.py", line 220, in render
    proc = subprocess.Popen(cmd, startupinfo=STARTUPINFO)
  File "C:\Python34\lib\subprocess.py", line 859, in __init__
    restore_signals, start_new_session)
  File "C:\Python34\lib\subprocess.py", line 1112, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Documents\Kissmetrics\curves and lines\eventNodes.py", line 56, in <module>
    filename=dot.render(filename='test')
  File "C:\Python34\lib\site-packages\graphviz\files.py", line 225, in render
    'are on your systems\' path' % cmd)
RuntimeError: failed to execute ['dot', '-Tpdf', '-O', 'test'], make sure the Graphviz executables are on your systems' path

У кого-нибудь есть опыт работы с этим?

Ответы:


97
import os
os.environ["PATH"] += os.pathsep + 'D:/Program Files (x86)/Graphviz2.38/bin/'

В Windows просто добавьте эти две строки в начало, где «D: / Program Files (x86) /Graphviz2.38/bin/» заменяется адресом вашего bin-файла.

Это решает проблему.


9
работал в windows, я скачал graphviz-2.38.zip отсюда graphviz.gitlab.io/_pages/Download/Download_windows.html . Разархивируйте его и поместите в указанную папку
user3046442

Это работает для меня. Я пытался добавить это в переменные пользовательской и системной среды, но это не сработало, у меня работает только ваше решение.
Том

это сработало и для меня, но перед работой возникла еще одна ошибка. По какой-то причине это дало мне параллельную конфигурацию ....- ошибка. Мне пришлось дополнительно переустановить распространяемый пакет Microsoft Visual C ++ 2008 (x86). Если у кого-то такая же проблема, вот ссылка: [ microsoft.com/de-DE/download/details.aspx?id=29]
Марко

Я использовал шоколад для установки graphvizchoco install -y graphviz
Nissan

90

Вы должны установить пакет graphviz в своей системе (а не только пакет python). В Ubuntu вам следует попробовать:

sudo apt-get install graphviz

Если это не работает (он говорит, что на пакет есть ссылка, но его нет, или что-то в этом роде), запустите sudo apt-get update, чтобы обновить apt-get и сообщить ему, какие пакеты есть.
Pro Q

Если вы находитесь в контейнере Docker (как и я), я уже был в контейнере, и мне было rootнужно только егоapt-get install graphviz
the775

79

Это решило для меня проблему на MAC :

  brew install graphviz

2
Для Mac это лучший вариант. Если вы не хотите использовать MacPorts и установить graphviz отсюда: graphviz.org/Download_macos.php .
AlexG

1
Спасибо, на моем MAC сработало. Я пытался установить с помощью pip и conda, но это не сработало.
Catbuilts

Как мне найти папку bin, в которой у меня есть файл graphviz. У меня есть эта проблема, и я действительно убиваю прямо сейчас. Только что проверил, у меня есть graphviz 2.38.
Herc01

55

Для Windows:

  1. Установите пакет Windows из: https://graphviz.gitlab.io/_pages/Download/Download_windows.html
  2. Установить питон graphviz пакет
  3. Добавить C:\Program Files (x86)\Graphviz2.38\binв путь пользователя
  4. Добавить C:\Program Files (x86)\Graphviz2.38\bin\dot.exeв системный путь

Это сработало для меня!


15
Также закройте свой «cmd», в котором запущен блокнот jupyter. Существующий запущенный CMD не улавливает новые изменения в переменных среды.
Рохит Нанди

У меня это не сработало, пока я не перезапустил систему
Мохаммад Назари

Это сработало отлично. Просто пришлось снова перезагрузить ноутбук. Спасибо.
Амреш Гири

21

Попробуйте использовать:

conda install python-graphviz

Исполняемый файл graphviz находится на другом пути от вашего каталога conda, если вы используете pip install graphviz.


Conda install graphvizработал на windows! больше ничего не работает: \
Жоэль Карнейро

14

OSX Sierra, Python 2.7, Graphviz 2.38

Использование pip install graphvizи conda install graphvizОБА решает проблему.

pipполучает только проблему пути, такую ​​же, как у вас, и condaтолько ошибку импорта.


ТОЛЬКО это сработало для меня. попробовав все. Спасибо.
Meghna Natraj

Conda install graphvizработал на windows! Кажется, больше ничего не работает: \
Жоэль Карнейро

10

Просто добавьте ниже в PATH переменной среды (системы) в Windows

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

там вы можете найти .exe файлы

Если не работа

Найдите папку Graphviz2.38 / bin в ваших программных файлах не в python lib

Затем добавьте в свой PATH

Важно найти папку, в которой существуют файлы .exe


похоже, только ваш пост может решить мою проблему ... win10 enterprise edition, jupyter notebook, py 3.6
Travis

10

Шаг 1. Установите двоичный файл Graphviz

Окна:

  1. Загрузите Graphviz с http://www.graphviz.org/download/
  2. Добавьте ниже в переменную окружения PATH (укажите установленную версию graphviz):
    • C: \ Program Files (x86) \ Graphviz2.38 \ bin
    • C: \ Program Files (x86) \ Graphviz2.38 \ bin \ dot.exe
  3. Закройте любой открытый блокнот Juypter и командную строку.
  4. Перезапустите приглашение Jupyter / cmd и проверьте

Linux:

  1. sudo apt-get update
  2. sudo apt-get install graphviz
  3. или создайте его вручную из http://www.graphviz.org/download/

Шаг 2: Установите модуль graphviz для Python

Пипа:

  • pip install graphviz

Конда:

  • conda установить graphviz

1
Решено для меня на winzoz
rakwaht

1
Отличное объяснение! Спасибо ~
Брайт Чанг

8

Попробуй conda install graphviz. У меня была такая же проблема, я решил ее с помощью указанной команды в MacOS.


1
Conda install graphvizработал на windows! Кажется, больше ничего не работает: \
Жоэль Карнейро

8

При использовании conda install graphvizи conda install python-graphvizдля установки GraphViz в Windows10 мне нужен был путь C: / ProgramData / Anaconda3 / Library / bin / graphviz / . Т.е. добавление

import os
os.environ["PATH"] += os.pathsep + 'C:/ProgramData/Anaconda3/Library/bin/graphviz/'

решил проблему для меня.


6
conda install python-graphviz

Для Windows установите Python Graphviz, который будет включать исполняемые файлы в путь.


1
Conda install graphvizработал на windows! больше ничего не работает: \
Жоэль Карнейро

6

В Ubuntu Linux это решило для меня:

pip install graphviz
sudo apt-get install graphviz

Вы также можете попробовать conda install -c conda-forge graphvizвместо pip, если используете Anaconda.


1
У меня это сработало и в WSL в Windows 10. Установки с использованием pip было недостаточно.
Nerxis

6

Решая эту проблему для себя, я использовал этот учебник GitHub , в котором была проанализирована причина этой проблемы. Если мы читаем между строк, он говорит, что ему нужна система, а также граф Python, а именно. Кроме того conda install, нам нужно будет запустить:

conda install -c conda-forge python-graphviz

Затем перезапустите ядро; Работает как часы.


4

1) Graphviz - загрузите распаковку в определенном месте в системе (pip не работает в Windows) и включите папку bin в путь ('установить переменные среды в Windows' ИЛИ), установленный вручную в каждой программе

import os
os.environ["PATH"] += os.pathsep + 'C:/GraphViz/bin'

2) Затем поместите модель на график

clf = xgb.train(params, d_train, 1000, evals=evallist, early_stopping_rounds=10)
xgb.plot_tree(clf)
plt.rcParams['figure.figsize'] = [50, 10]
plt.show()

3

После того, как вы установили пакет ( ссылка, если у вас нет), добавьте путь к dot.exe в качестве новой системной переменной.

Путь по умолчанию:

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

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


2

У меня была такая же проблема в Linux с Jupyter.

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

Во-первых: проверьте, dotустановлен ли

Тогда:
найди свой путьwhereis dot -> / local / notebook / miniconda2 / envs / ik2 / bin / dot

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


15
В linux я просто сделал sudo apt-get install graphviz(после того, как сделал pip install graphviz), и после этого все заработало.
поводу

@wordsforthewise Ваш комментарий должен быть ответом. Решил проблему для меня
Рикен Шах

@wordsforthewise, вот и ответ!
SeF


2

У меня было такое же сообщение об ошибке в Mac OS (El Capitan) при использовании PyCharm IDE. Я установил Graphviz с помощью brew, как рекомендовано в ответе RZK, и установил пакет python graphviz с помощью PyCharm (я мог проверить, правильно ли установлен Graphviz, попробовав dot -Vв терминале и получив:dot - graphviz version 2.40.1 (20161225.0304) . Тем не менее, я все еще получал сообщение об ошибке при попытке вызвать Graphviz из PyCharm.

Мне пришлось добавить путь / usr / local / bin в параметры PyCharm, как рекомендовано в ответе на этот вопрос, чтобы решить проблему.


2

Это показывает некоторую проблему пути:

pip install graphviz

Так что это сработало для меня:

sudo apt-get install graphviz

2

Я использую macOS Catalina 10.15.3, и у меня была аналогичная ошибка: ExecutableNotFound: failed to execute ['dot', '-Tsvg'], make sure the Graphviz executables are on your systems' PATH

Исправлено с помощью:

pip3 install graphviz И brew install graphviz

Обратите внимание, что pip3 installбудет возвращено только сообщение об успехе, Successfully installed graphviz-0.13.2поэтому нам все еще нужно запустить, brew installчтобы получить graphviz 2.42.3 (по состоянию на 10 марта 2020 года, 18:00).


1

Для пользователей Linux, которые не имеют root-доступа и, следовательно, не могут использовать sudoкоманду, как предлагается в других ответах ...

Сначала активируйте виртуальную среду conda (если вы хотите ее использовать):

source activate virtual-env-name

Затем установите graphviz, даже если вы уже сделали это с помощью pip:

conda install graphviz

затем скопируйте результат следующей команды:

whereis dot

В моем случае его результат:

/home/nader/anaconda2/bin/dot

и добавьте его в свою переменную PATH. Просто запустите команду ниже

nano ~/.bashrc

и добавьте эти строки в конец открытого файла:

PATH="/home/username/anaconda2/bin/dot:$PATH"
export PATH

теперь нажмите Ctrl+, Oа затем Ctrl+, Xчтобы сохранить и выйти.

Проблема должна быть решена сейчас.

Пользователи Pycharm, обратите внимание: Pycharm не всегда видит переменную PATH так же, как ваш терминал. Это решение не работает для Pycharm и, возможно, других IDE. Но вы можете исправить это, добавив эту строку кода:

os.environ["PATH"] += os.pathsep + '/home/nader/anaconda2/bin'

в вашу программу на Python. Не забудь

import os

первый :)

Изменить: если вы не хотите использовать conda, вы все равно можете установить graphviz отсюда без каких-либо прав root и добавить папку bin в свою переменную PATH. Я не проверял это.


а что если whereis dotвыводит ничего кроме dot:? Я использую PyCharm в Windows для подключения к серверу Ubuntu 16.04 и не могу найти необходимую папку bin для добавленияos.environ["PATH"] += os.pathsep + '...'
bit_scientist

Скорее обратитесь к этой моей проблеме, размещенной здесь
bit_scientist

1

1. установите пакет Windows из: https://graphviz.gitlab.io/_pages/Download/Download_windows.html и загрузите файл msi

Добавьте переменные среды 2. Добавьте C: \ Program Files (x86) \ Graphviz2.38 \ bin в путь пользователя

  1. Добавьте C: \ Program Files (x86) \ Graphviz2.38 \ bin \ dot.exe в системный путь

  2. Перезагрузите записную книжку на Python.

Это сработает.


1

Добавить graphviz в системный путь

  1. Windows - изменение переменных системной среды.
  2. Выберите переменные среды.
  3. Выбрать путь - Новый
  4. Добавить путь графвиза

Пример: C: \ Users \ AppData \ Local \ Continuum \ anaconda3 \ Library \ bin \ graphviz


0

ОС Mojave 10.14., Python 3.6

Использование pip install graphvizимело хорошую обратную связь в терминале, но приводило к этой ошибке, когда я пытался построить график в блокноте Jupyter. Затем я запустил brew install graphviz, что дало ошибку в терминале. Затем я побежалconda install graphviz и график заработал.

Из комментария @ Leighton: pip получает только проблему пути, такую ​​же, как у вас, а conda получает только ошибку импорта.


0
import os
os.environ["PATH"] += os.pathsep + "/Macintosh HD⁩/anaconda3⁩/lib⁩/⁨python3.7⁩/site-packages⁩/sphinx⁩/templates⁩/graphviz"

Это решило для меня проблему с PATH на MAC!


0

Если вы используете не Conda, а ванильный Python, подойдет «brew install graphviz».


0
#Write this on anaconda prompt in admin mode
conda install -c anaconda graphviz
conda install -c conda-forge python-graphviz
conda install -c conda-forge/label/broken python-graphviz
conda install -c conda-forge/label/cf201901 python-graphviz
conda install -c conda-forge/label/cf202003 python-graphviz

#check dot -v in window's cmd prompt
C:\WINDOWS\system32>dot -V
dot - graphviz version 2.38.0 (20140413.2041)
(this means graphviz installed successfully)

#Add path to sys and user eve variables
PATH
C:\Anaconda3\pkgs\graphviz-2.38-hfd603c8_2\Library\bin
(search bin folder of graphviz and then copy n paste path in env variables)

#Re-run all cmds in jyupter notebook
#if error occurs (less chances)
#then 
#Restart anaconda and again run all cmds in jyupter notebook
eg.
import graphviz as gp
with open("tree.dot") as f:
    dot_read=f.read()
display(gp.Source(dot_read))

0

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

это сработало для меня.

Источник: https://anaconda.org/conda-forge/python-graphviz

conda install -c conda-forge python-graphviz
conda install -c conda-forge/label/broken python-graphviz
conda install -c conda-forge/label/cf201901 python-graphviz
conda install -c conda-forge/label/cf202003 python-graphviz 

-2

попытаться сделать это в python import sys! conda install --yes --prefix {sys.prefix} graphviz import graphviz


Пожалуйста, добавьте в свой ответ более подробную информацию, например, почему это решит проблему
Дейв,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.