Как установить graphviz на mac os

Обновлено: 08.07.2024

Прежде всего, я новичок в MacOS, и я хочу видеть вывод llc -view-dag-combine1-dags sum.ll . На Mac llc создаст точку в /tmp _ и попробуйте открыть приложение, чтобы показать файл точек. Я попытался Graphviz , но это не работает (сбой программы). Я хотел бы попробовать что-то еще, например xdot . Я устанавливаю его с помощью brew install xdot , но не знаю, как разрешить MacOS использовать xdot , который я только что установил, чтобы открыть файл точек.

Или любой другой лучший инструмент для просмотра точечного файла? Я бы хотел, чтобы все было как можно проще.

Homebrew имеет graphviz только для командной строки. Я бы предложил использовать MacPorts для установки graphviz-gui , что избавит нас от многих неприятностей.

Я никогда не использовал "llc" раньше.

Но в моем случае иметь дело с файлом .dot

Я использовал brew install graphviz

Затем использовал следующую команду для преобразования .dot в .jpg

Работает каждый раз без сбоев.

Вы также можете создать приложение Graphviz GUI, используя homebrew, если у вас установлен Xcode:

Если вы уже установили GraphViz Brew, вы хотите сделать это:

На момент написания, это не похоже на установку символической ссылки на приложение в /Applications , как это делает cask, поэтому, если вы хотите, вам нужно будет сделать это вручную (или скопировать приложение).

Чтобы найти расположение пакета приложения, посмотрите журнал сборки, вы должны увидеть следующую строку:

Если у вас больше нет журнала сборки, вы можете определить этот путь, запустив brew list graphviz или brew info graphviz .

Откройте папку (замените ее фактическим путем, который вы определили на предыдущем шаге):

Внутри вы должны увидеть Graphviz.app. Вы можете переместить/скопировать его в /Applications или создайте псевдоним, перетащив его в /Applications и ​​удерживая ⌘ а также option ключи.

Предупреждение! В настоящее время может быть разбит на Мохаве.

Похоже, что есть проблема с самим Graphviz в настоящее время препятствует сборкам на MacOS Mojave. Пожалуйста не комментируйте этот ответ, говоря, что он не работает, он ничего не добьется. Вы можете следить за вопросом выше для получения дополнительных обновлений, и мы постараемся обновить этот ответ, если/когда ситуация будет решена разработчиками Graphviz.

Мы создаем ПО для разработки и поддержки баз данных Oracle, и статический анализатор PL/SQL является одной из основных фич наших приложений. Кто знаком с Oracle, тот хорошо знает что такое PL/SQL.

Известная поговорка гласит: «Лучше один раз увидеть, чем сто раз услышать». Поэтому мы решили заимпрувить статический анализатор таким образом, чтобы он визуализировал код в виде блок-схем (Flowcharts) и диаграмм вызовов (Call Trees). Хоть и нарисовать блоки и их связи несложно, оптимизировать их расположение на «листе» представлялось задачей, требующей значительных усилий. Чтобы стрелки минимально пересекались и обтекали блоки, блоки объединялись в группы, и диаграмма при этом не превращалась в «кашу», нужно было потратить много сил и времени.

И тогда мы решили поискать готовое решение, дабы не изобретать велосипед. Наше внимание сразу привлек Graphviz – open source решение по визуализации диаграмм. Первые его версии были разработаны компанией AT&T, а теперь он доступен как набор утилит и библиотек, а также в исходниках под лицензией Eclipse Public License (EPL).

Его движок диаграмм использует язык описания графов DOT, который представляет собой текстовое описание структуры графа: вершины, их связи, группы и атрибуты для их визуального оформления.

Описание простейшего графа:


Если необходимо добавить узлам атрибуты, например подписи, то необходимо отдельно описать узлы:


Далее покажу на примере простой процедуры на PL/SQL:


Код понятен, даже если вы не знакомы с синтаксисом PL/SQL.

А теперь опишем этот код на языке DOT. Пояснения снова излишни:


Теперь можно «скормить» этот файл Graphviz, подставив соответственно вместо %PNGFILE% и %DOTFILE% имена выходного (png) и входного (dot) файлов:


При помощи Graphviz из описания выше получается такая картина:


Наглядно, но весьма аскетично.

Можно сделать диаграмму привлекательнее, добавив атрибуты для определения формы блоков (shape=diamond) , подписи стрелок (label="Yes") и цвета color , fontcolor .

Также мы можем объединить в подграф блоки, которые являются исполняемыми. Это реализуется конструкцией subgraph <> , внутри которой мы можем перечислить имена блоков, включенных в подграф, и указать атрибуты для визуального оформления (цвет рамки).


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


Чтобы код могли читать не только программисты, но и «простые смертные», мы придумали такую фишку: приделали распознавание специальных тегов в комментариях, которые бы разработчик писал как псевдокод – язык описания алгоритмов. Это помогло увеличить ценность блок-схемы, которая теперь может отображать бизнес-логику, а не только визуализировать листинг.


Вуаля! Graphviz дает возможность делать потрясающие визуализации с минимальными затратами.

я запускаю Python3.4 в Windows 7. Я пытаюсь использовать интерфейс Python для graphviz. Это сценарий, который я намерен запустить:

Я получаю следующую ошибку во время выполнения:

Теперь я уверен, что правильно установил правильные зависимости. Сначала я попытался установить правильные переменные среды. Исполняемые файлы программ находятся в C:Program файлы (x86)Graphviz2.37 bin поэтому я пошел в раздел переменных среды. Там есть два раздела: пользовательские переменные и системные переменные. В разделе системные переменные я нажал на путь после нажатия Edit и добавил ;C:Program файлы (x86)Graphviz2.37 bin до конца строки и сохранены. Это не прояснило ошибку.

затем, после ответа приведенный здесь я удалил pydot (на самом деле я использую pydotplus здесь) и снова установил его, но все равно не удалось.

в моем случае (Win10, anaconda3, Jupyter notebook) после "conda install graphviz" Я должен добавить к пути: C:\Users\username\Anaconda3\Library\bin\graphviz

изменить путь goto Control Panel > System and Security > System > Advanced System Settings > Environment Variables > Path > Edit > New

на ноутбуке jupyter(ipython) с anaconda в win10 я решил проблему conda install graphviz после того, как я установил graphviz по pip install graphviz

при добавлении C:\Program файлы (x86)\Graphviz2.38\bin to PATH, затем вы должны закрыть среду IDE, такую как spyder и перезапустить, вы решите "RuntimeError:убедитесь, что исполняемые файлы Graphviz находятся на пути ваших систем"

У меня также была эта проблема на Ubuntu 16.04.

исправлено путем запуска sudo apt-get install graphviz в дополнение к установке pip, которую я уже выполнил.

Как оказалось, Graphviz2.Известно, что 37 имеет проблемы с переменной PATH в windows. Я удалил его, удалил связанные с ним переменные среды и вместо этого загрузил и установил новую бета-версию отсюда и теперь он работает как шарм.

чтобы решить эту проблему, при установке graphviz2.38 успешно, затем добавьте переменную PATH в системный путь.В разделе системные переменные вы можете нажать на Path, а затем нажать Edit и added ;C:\Program файлы (x86)\Graphviz2.38\bin до конца строки и сохранен.После этого перезагрузите pythonIDE как spyper, тогда он работает хорошо.

Не забудьте закрыть Spyder, а затем перезапустить.

после перезагрузки windows

поскольку Mac OS не была упомянута, я добавлю, что у меня была та же проблема на OS X Yosemite, решение, которое я нашел, было сделать brew install graphviz

для windows 8.1 & python 2.7 я исправил проблему, выполнив следующие шаги

2 . Установите переменную path

  • Панель управления > Система и безопасность > Система > расширенные Системные настройки > Переменные среды > путь > изменить
  • добавить 'C:\Program файлы (x86)\Graphviz2.38 \ bin'

у меня была такая же проблема с Windows 10.

во-первых, я установил graphviz-2.38.0 со следующей командой без каких-либо проблем.

во-вторых, я установил pydotplus со следующей командой без каких-либо проблем.

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

У меня была такая же проблема на Ubuntu(14.04) с Jupyter.

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

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

затем: найти свой путь whereis dot - > /local / notebook/miniconda2/envs/ik2/bin / dot

наконец в скрипте python: sys.путь.добавить ("/local / notebook / miniconda2/envs / ik2 / bin / dot")

Я использую Windows 10, Python 3.6 на Anaconda 3 и столкнулся с той же проблемой.

У меня была работа, делая следующее в последовательности:

  1. из терминала Anaconda: pip установить pydotplus
  2. из терминала Anaconda: conda установить pydotplus
  3. из терминала Anaconda: pip установить graphviz
  4. из терминала Anaconda: conda установить graphviz
  5. пошел в среду Windows Varialbes, путь и добавил расположение моей точки.exe файл в каталоге graphviz в Anaconda.

работало нормально после этого.

Если вы находитесь на Win10, установите Graphviz, а затем используйте следующую команду для добавления пути.

обратите внимание, что я использую Windows 10. некоторые из перечисленных ниже могут применяться или не применяться для других версий windows или операционных систем:

** Примечание 2: **
"адрес файла Graphviz bin в вашей системе" может быть C:\Program файлы (x86)\Graphviz2.38 \ bin или любой другой путь, который вы установили Graphviz там.

У нас есть проблема не только с Graphviz, но и с другими внешними EXE-файлами, которые мы хотим использовать в Jupyter.
Причина jupyter хочет импортировать пакет, который он ищет в рабочем каталоге, чтобы найти его, и когда ему не удается найти пакет, он возвращает такие ошибки.
Что мы можем сделать, это решить это следующим образом:
1) проверьте, установлен ли Graphviz в вашей системе, и если нет, вы можете загрузить и установить его из:

тогда у вас есть несколько вариантов:

2) Вы можете назвать .exe файл в ipynb через

по моему опыту, он работает только для того же ipynb, с которым я работаю, и каждый раз, когда я открываю ноутбук, мне нужно вызвать эти строки кода.

3) Если вы хотите Jupyter, где найти exe-файл, вам нужно установить environmenal путь.
В Windows 10 вы можете сделать это:
Панель управления > Система и безопасность > Система > расширенные Системные настройки > Переменные среды > путь > правка > создать
а затем добавьте " адрес файла Graphviz bin в вашей системе" В windows 8 или Ниже перейдите к:
Панель управления > Система и безопасность > Система > расширенные Системные настройки > Переменные среды
а затем добавьте; (точка с запятой) + "адрес файла Graphviz bin в вашей системе" в конец пути строка
Примечание: не забудьте перезагрузить компьютер.

4) и даже это не работает, определите переменную, идущую в:
Панель управления > Система и безопасность > Система > Дополнительные Системные настройки > Переменные среды, а затем:

Start to define an environmental variable

Remember to name the variable Graphviz

затем определите переменную следующим образом:

Не забудьте назвать переменную Graphviz. Наконец перезагрузите компьютер и надейтесь, что он работает.

Я хотел бы распространять приложение через Mac App Store и, следовательно, должен использовать Sandboxing. Проблема в том, что я не знаю, как настроить Graphviz в Sandbox-совместимом способе. Graphviz основан на плагинах и требует, чтобы I:

  1. Используйте переменную среды (GVBINDIR) для установки каталога плагина. Переменная должна указывать на каталог в Песочнице.
  2. Имейте файл в каталоге каталога GVBINDIR, который называется config6, который используется для регистрации библиотек плагинов. Я мог бы скопировать файл из Name.app/Contents/Resources.
  3. У вас есть 2 плагиновых dylib в том же GVBINDIR. Если я правильно ее понимаю, тогда настройки шаблона Mach-O должны быть правильно установлены для библиотеки плагинов до развертывания и в соответствии с каталогом.

dydl access to one of the libraries

Следующий снимок экрана основан на запуске с инструментами Xcode, мониторинг доступа к файлам, но фильтрация на плагин dot_layout. Как вы можете видеть, он обнаруживается при запуске приложения (у меня это как зависимость, вы видите, что FD возвращается "3" - я действительно не знаю, что это значит). Но позже, когда graphviz запускает доступ к плагину, dyld не может его найти.

Что я делаю не так?

Есть идеи? Спасибо заранее!

Это заняло у меня некоторое время, но в итоге я нашел решение. Я создал скрипт со следующим содержимым, которое я помещаю в каталог graphviz.

Еще несколько комментариев:

  • Используйте Homebrew, чтобы получить исходники для graphviz. brew install --build-from-source graphviz
  • скопируйте и распакуйте загруженные исходники из

Теперь мы можем сосредоточиться на нашем проекте Swift в Xcode.

  • Определите переменную окружения GRVIZ, указывающую на каталог dev. Установите путь к заголовку и быстрый путь импорта к $ /**
  • Чтобы иметь возможность связать стандартные библиотеки c++ (необходимые для плагинов), вам нужен пустой файл .mm (следующая идея Уолтера: ошибки компиляции со статической библиотекой c++ включены в проект Swift)
  • Включите все файлы _C.a → мы хотим интерфейс C.
  • Create Builtins.c должен быть c файлом, чтобы избежать проблем с искажением имен. Установите это в инспекторе файлов
  • По неизвестным причинам мне нужны оба: каталоги GRVIZ и GVTARGET.
  • Загрузка библиотек: невозможно использовать точечную разметку (graphviz как библиотека)

Похоже, что текущие (= 2019) сборки graphviz зависят от glib. Для того, чтобы иметь статический glib, его нужно сначала собрать локально. Для этого примените meson _build -Diconv=native при сборке. Может потребоваться сначала установить libiconv .

Мой файл builtins.c:

Мой файл buildins.h:

И конфигурация в Xcode.

enter image description here

Позже я нуждался в этом: не уверен, было ли это связано с графиком.

Читайте также: