Команда system R и вывод оболочки различны

1

У меня есть python по умолчанию ubuntu и Anaconda Python, установленный в моей системе. Когда я запускаю системную команду в R:

> system('which python')
/usr/bin/python

Однако из оболочки:

user@user:~/Documents/Rad/jee/Solver$ which python
/home/user/anaconda2/bin/python

Также из режима командной строки Rscript:

user@user:~/Documents/Rad/jee/Solver$ Rscript -e "system('which python')"
/home/user/anaconda2/bin/python

Что может отличаться в команде R system, чтобы дать другой результат.

  • 0
    Переменная окружения PATH отличается.
  • 0
    Спасибо @OrtomalaLokni
Теги:
anaconda

1 ответ

2

После некоторой отладки я нашел ответ в том, как Anaconda добавляет исполняемый путь python в PATH. Anaconda добавляет его в.bashrc, который доступен только в bash, поэтому я могу видеть это, когда я делал что-либо в своем терминале. Однако похоже, что команда R-команды делает sh-вызов. Таким образом, anaconda python не был доступен в выводе системной команды R.

После перемещения настройки anaconda из файла.bashrc в.profile; проблема решена.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню