Ответ 1
Вам следует установить пакет graphviz в вашей системе (а не только пакет python). На Ubuntu вы должны попробовать:
sudo apt-get install graphviz
Я загрузил версию Graphviz 2.38
MSI и установил в папке C:\Python34
, затем запустил pip install Graphviz
, все прошло хорошо. В системном пути я добавил C:\Python34\bin
. Когда я попытался запустить тест script, в строке 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 удалить 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
Есть ли у кого-нибудь опыт?
Вам следует установить пакет graphviz в вашей системе (а не только пакет python). На Ubuntu вы должны попробовать:
sudo apt-get install graphviz
import os
os.environ["PATH"] += os.pathsep + 'D:/Program Files (x86)/Graphviz2.38/bin/'
В окнах просто добавьте эти две строки в начале, где "D:/Program Files (x86)/Graphviz2.38/bin/" заменяется адресом, где находится ваш файл bin.
Это решает проблему.
Этот решил проблему для меня на MAC:
brew install graphviz
Для Windows:
graphviz
C:\Program Files (x86)\Graphviz2.38\bin
в Путь пользователяC:\Program Files (x86)\Graphviz2.38\bin\dot.exe
в системный путьЭто сработало для меня!
OSX Sierra, Python 2.7, Graphviz 2.38
Использование pip install graphviz
и conda install graphviz
BOTH устраняет проблему.
pip
получает только проблему с пути, аналогичную вашей, а conda
получает ошибку импорта.
Попробуйте использовать:
conda install python-graphviz
Исполняемый файл graphviz находится по пути, отличному от вашего каталога pip install graphviz
, если вы используете pip install graphviz
.
Просто добавьте ниже в свою экологическую переменную (систему) PATH на Windows
C:\Program Files (x86)\Graphviz2.38\bin
вы можете найти .exe файлы
Если не работает
Найдите Graphviz2.38/bin папку в программных файлах не в python lib
Затем добавьте к PATH
Важно найти папку с файлами .exe
Попробуйте conda install graphviz
. У меня была та же проблема, я решил ее по указанной команде в MacOS.
conda install python-graphviz
Для Windows установите Python Graphviz, который будет включать исполняемые файлы в путь.
Шаг 1: Установите двоичный файл Graphviz
Окна:
Linux:
Шаг 2: Установите модуль graphviz для python
пип:
Конда:
У меня была такая же проблема с Linux с Jupyter.
Чтобы решить эту проблему, я добавил библиотеку точек в python sys.path
Сначала: проверьте, установлен ли dot
,
Тогда:
найти его путь whereis dot
→ /local/notebook/miniconda2/envs/ik2/bin/dot
Наконец, в python script: sys.path.append( "/локальный/ноутбук/miniconda2/envs/ik2/бен/точка" )
После установки пакета (ссылка, если вы этого не сделали), добавьте путь к dot.exe в качестве новой системы переменная.
Путь по умолчанию:
C:\Program Files (x86)\Graphviz2.38\bin\dot.exe
Сначала вы должны использовать pip install, а затем загрузить другой пакет в http://www.graphviz.org/Download_windows.php и добавьте место установки в экологический путь, затем он работает.
У меня было такое же сообщение об ошибке в Mac OS (El Capitan), используя IDE PyCharm.
Я установил Graphviz, используя brew, как рекомендовано в ответе RZK, и установил пакет python graphviz с помощью PyCharm (я мог проверить, что Graphviz был установлен правильно, попробовав dot -V
в терминале и получив: dot - graphviz version 2.40.1 (20161225.0304)
).
Тем не менее, я все еще получал сообщение об ошибке при попытке вызвать Graphviz из PyCharm.
Мне пришлось добавить путь /usr/local/bin в параметрах PyCharm, как рекомендовано в ответе этот вопрос, чтобы решить проблему.
Для пользователей 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
первый :)
Edit: Если вы не хотите использовать Конду, вы можете установить Graphviz из здесь без каких - либо разрешений корня и добавьте папку бин в переменную PATH. Я не проверял это.
1.Установите пакет Windows из: https://graphviz.gitlab.io/_pages/Download/Download_windows.html и загрузите файл MSI.
Добавьте в переменные среды 2. Добавьте C:\Program Files (x86)\Graphviz2.38\bin в путь пользователя
Добавьте C:\Program Files (x86)\Graphviz2.38\bin\dot.exe в системный путь
Перезапустите тетрадь Python.
Это будет работать.
Используя conda install graphviz
и 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/'
решил проблему для меня.
ОС Mojave 10.14., Python 3.6
Использование pip install graphviz
хорошо зарекомендовал себя в терминале, но привел к этой ошибке, когда я попытался построить график в блокноте Jupyter. Затем я запустил brew install graphviz
, который выдал ошибку в терминале. Затем я запустил conda install graphviz
и график работал.
Из комментария @Leighton: у pip проблема с путями только та же, что и у вас, а у conda только ошибка импорта.
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()
пытаясь сделать это в python import sys! conda install --yes --prefix {sys.prefix} graphviz import graphviz