Системный путь против Sys.getenv ('PATH') - PullRequest
6 голосов
/ 09 февраля 2012

Это может оказаться довольно тривиальным вопросом, но я довольно озадачен.Все началось, когда я установил универсальный конвертер документов pandoc и добавил его в свой путь.Поэтому, когда я выполняю echo $PATH на терминале по умолчанию на моем Mac OS X, он показывает pandoc, и я могу выполнить его.

Однако, когда я пытался вызвать его в сеансе R, используя system(pandoc --version), он не может распознать pandoc.Дальнейшая проверка показала, что system('echo $PATH') не возвращает тот же путь, который я получил на терминале.

Может кто-нибудь помочь мне с тем, что происходит?Мне нравится выполнять всю мою работу на RStudio, и поэтому я бы предпочел, чтобы я мог использовать pandoc непосредственно изнутри.Отсюда необходимость выяснить это.

1 Ответ

4 голосов
/ 09 февраля 2012

R и bash (и, несомненно, Rstudio) создают отдельную среду.Terminal.app запускает сеанс bash со своими собственными настройками PATH по умолчанию.Когда Саймон Урбанек недавно ответил на этот вопрос, он направил спрашивающего к R-Mac-FAQ 12.19.Его полный ответ находится в архивах R-SIG-MAC.В моем почтовом клиенте он появляется с темой Re: [R-SIG-Mac] PATH и датирован 30 января 2012 года. Он также направил спрашивающего: http://developer.apple.com/library/mac/#qa/qa1067/_index.html

Как вам говорит ?EnvVar: "Sys.getenv и Sys.setenv для чтения и установки переменных среды в сеансе R".Но тогда вы, кажется, уже знаете об этих функциях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...