graphviz.backend.ExecutableNotFound: не удалось выполнить ['dot', '-Tpng'], убедитесь, что исполняемые файлы Graphviz находятся в вашей системе PATH - PullRequest
0 голосов
/ 03 марта 2020

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

Я на Windows 10, использую PyCharm для подключения к автономному серверу Ubuntu 16.04, чтобы попробовать машинное обучение классификация.

Код работает до некоторой точки, затем выдает это

Traceback (most recent call last):
  File "/home/user/.local/lib/python3.5/site-packages/graphviz/backend.py", line 159, in run
    proc = subprocess.Popen(cmd, startupinfo=get_startupinfo(), **kwargs)
  File "/usr/lib/python3.5/subprocess.py", line 947, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.5/subprocess.py", line 1551, in _execute_child
    raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'dot'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/project/2_input/xgboost_loop.py", line 55, in <module>
    xgb.plot_tree(classifier, ax=plt.gca())
  File "/home/user/.local/lib/python3.5/site-packages/xgboost/plotting.py", line 281, in plot_tree
    s.write(g.pipe(format='png'))
  File "/home/user/.local/lib/python3.5/site-packages/graphviz/files.py", line 138, in pipe
    quiet=quiet)
  File "/home/user/.local/lib/python3.5/site-packages/graphviz/backend.py", line 229, in pipe
    out, _ = run(cmd, input=data, capture_output=True, check=True, quiet=quiet)
  File "/home/user/.local/lib/python3.5/site-packages/graphviz/backend.py", line 162, in run
    raise ExecutableNotFound(cmd)
graphviz.backend.ExecutableNotFound: failed to execute ['dot', '-Tpng'], make sure the Graphviz executables are on your systems' PATH

Process finished with exit code 1

Я проверял через pip list, что у меня есть graphviz версия 0.13.2 на сервере Ubuntu. Один предложил в приведенной выше ссылке, что вывод whereis dot должен быть добавлен как os.environ["PATH"] += os.pathsep + 'OUTPUT' к файлу, который будет запущен, но нет никакого вывода, кроме dot:.

Локально, я также проверил что у меня такая же graphviz версия 0.13.2.

...