Где я могу добавить исполняемый файл Graphviz на Mac - PullRequest
0 голосов
/ 03 марта 2019

Я пытаюсь использовать Graphviz, но получаю сообщение об ошибке:

graphviz.backend.ExecutableNotFound: failed to execute ['dot', '-Tpdf', '-O', 'test-output/aoc.gv.pdf'], make sure the Graphviz executables are on your systems' PATH

Код, который я запускаю, вырезан и вставлен из документации:

from graphviz import Digraph, Graph
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')
dot.render('test-output/aoc.gv.pdf')

Файл будет выведен в правильную папку, и файл будет там, и у него будет 170 байт, но он не откроется.Я пробовал другие расширения, такие как просто 'gv', и они тоже не работают.Я использую последнюю версию Graphviz, которая является 0.10.1, и я попытался открыть этот файл на ПК, и он также не работает на ПК (у меня Mac).Эта проблема похожа на

Не найдены исполняемые файлы Graphviz (Python 3.4)

и

Почему pydot не может найти исполняемые файлы GraphVizв Windows 8?

Однако в моем понимании этих постов есть серьезные препятствия.Во-первых, я очень мало понимаю, как Python выполняется на компьютере, поэтому я даже не знаю, что такое переменная окружения.Во-вторых, когда они ссылаются на PATH компьютера, я могу только предположить, что они говорят о каталоге файла, который выполняет модуль Graphviz, но я не уверен в этом.Поэтому я добавил эту строку кода:

import sys
str1 = "/library/frameworks/python.framework/versions/3.6/lib/python3.6/site-packages/graphviz/"
sys.path.append(str1)

Но это не работает.В-третьих, если бы я реализовал этот шаг:

Добавьте эту строку в конец списка значений переменных (включая точку с запятой):; C: \ Program Files (x86) \ Graphviz2.34 \ bin

Тогда я должен был бы перевести это на свой Mac-аналог, и я не смогу.Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 05 марта 2019

Проблема решена.Мне потребовалось некоторое время, чтобы понять, что мне нужно было загрузить не-питоническое программное обеспечение, прежде чем я смог заставить питонское программное обеспечение работать.

brew install graphviz

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

brew install graphviz

снова, и это сработало.

0 голосов
/ 03 марта 2019

Диагностика говорит о том, что dot отсутствует в вашем $ PATH, он не появляется ни в одном из каталогов, упомянутых в этом env var.Вы хотите добраться до точки, где связывание следующей команды сообщает о некотором номере версии:

$ dot -V
dot - graphviz version 2.40.1 (20161225.0304)
$
$ which dot
/usr/local/bin/dot
$
$ echo $PATH | tr : ' ' | fmt -w1 | grep local
/usr/local/bin

Если вы еще не используете Brew, вам следует.Это самый простой способ установить эту и многие другие программы на ваш Mac.Посетите https://brew.sh/ и следуйте инструкциям.Затем введите:

$ brew install graphviz
...
$ /usr/local/bin/dot -V

Это должно работать просто отлично.Если dot -V говорит «не найден», просто добавьте соответствующий каталог к ​​вашей переменной PATH:

$ export PATH="${PATH}:/usr/local/bin"

Если ваша оболочка bash может его запустить, то ваша программа на python также должна это сделать.

...