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

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

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

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

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

2 ответов


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


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