Подтвердить что ты не робот

GraphViz: Windows PATH не установлен с новым установщиком, возникает при вызове из R

В R-библиотеке я использую программу dot (из GraphViz) для создания некоторой графики (обычно в формате png). dot - обычный исполняемый файл, и я выполняю его через команду system R. До сих пор все работало нормально, потому что установщик GraphViz добавлял dot в переменную среды PATH. Я просто просил пользователей установить GraphViz.

Начиная с версии 2.31 (см. http://www.graphviz.org/Download_windows.php), GraphViz больше не обновляет переменную среды PATH и, следовательно, вызывает dot сбой (это не удивительно). Поскольку пользователи библиотеки обычно не являются экспертами в компьютерах, я не могу попросить их обновить PATH, чтобы включить GraphViz.

Библиотека распределяется по CRAN. По этой причине я не могу распространять исполняемый файл (или любой скомпилированный код). Мне в основном нужно решение для Windows, поскольку это, похоже, не влияет на Linux или Mac.

Любая идея, как я могу продолжить работу с файлом изображения? Или найдите dot?

4b9b3361

Ответ 1

Мы решили не устанавливать PATH во время установки. У нас было много неприятностей, делая это переносимым образом, учитывая наши ограниченные знания Windows во многих его формах. Огромный недостаток в том, что вы ошибаетесь, так это то, что вы мусор какого-то плохого "не компьютерного эксперта" PATH, и они не могут восстановиться. Мы сделали это на странице загрузки Windows для Graphviz. Я согласен с настройкой .Rprofile. По крайней мере, вы ограничите ущерб, если что-то пойдет не так.

Ответ 2

У вас есть веская забота, поэтому мы пытались изменить PATH в предыдущих выпусках. Во-первых, да, мы, вероятно, сохраним C:\Program Files (x86)\Graphviz(VersionNumber) как путь установки по умолчанию. Во-вторых, если кто-то может сказать нам, как безопасно изменить PATH во время установки, мы будем признательны. Другая возможность заключается в том, чтобы установить процесс установки определенной переменной Graphviz, такой как GVPATH, которая записывает каталог, содержащий точку.