У меня есть 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, чтобы дать другой результат.
После некоторой отладки я нашел ответ в том, как Anaconda добавляет исполняемый путь python в PATH. Anaconda добавляет его в.bashrc, который доступен только в bash, поэтому я могу видеть это, когда я делал что-либо в своем терминале. Однако похоже, что команда R-команды делает sh-вызов. Таким образом, anaconda python не был доступен в выводе системной команды R.
После перемещения настройки anaconda из файла.bashrc в.profile; проблема решена.
PATH
отличается.