«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

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

liga810
источник

Ответы:

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
Rouzbeh
источник
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в системный путь

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

Jyotsna_b
источник
15
Также закройте свой «cmd», в котором запущен блокнот jupyter. Существующий запущенный CMD не улавливает новые изменения в переменных среды.
Рохит Нанди
У меня это не сработало, пока я не перезапустил систему
Мохаммад Назари
Это сработало отлично. Просто пришлось снова перезагрузить ноутбук. Спасибо.
Амреш Гири
21

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

conda install python-graphviz

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

Abishek
источник
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

JessieB
источник
похоже, только ваш пост может решить мою проблему ... 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.

ajayramesh
источник
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.

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

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

conda install -c conda-forge python-graphviz

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

Jaya
источник
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()
user41986
источник
3

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

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

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

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

typhon04
источник
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

Сначала вы должны использовать pip install, а затем загрузить другой пакет из http://www.graphviz.org/Download_windows.php и добавить место установки в путь среды, после чего все заработает.

x2yline
источник
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).

Keane
источник
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. Я не проверял это.

NKSHELL
источник
а что если 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.

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

Roli
источник
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».

Bhaskar
источник
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))
Priya
источник
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

Roli
источник
Пожалуйста, добавьте в свой ответ более подробную информацию, например, почему это решит проблему
Дейв,