Как я могу указать версию R, открытую сеансом ESS в emacs?

Когда я хочу открыть сеанс R в emacs, я использую M-x R.

Однако на нашем сервере есть как R 2.12 в /usr/bin/R, так и R 2.15 в /usr/local/bin/R. На самом деле, если я спрошу whereis R, я получу следующее:

$ whereis R
R: /usr/bin/R /usr/local/bin/R /usr/local/bin/R2.15 /usr/local/bin/R2.12 
/usr/local/bin/R2.7 /usr/include/R /usr/share/R /usr/share/man/man1/R.1.gz

Когда я пытаюсь экспортировать "R_HOME=/usr/local/bin/R2.15" из .bashrc, emacs говорит "ВНИМАНИЕ: игнорируется значение среды R_HOME"

Есть ли способ выбрать, какой экземпляр R запускать? В настоящее время 2.15 запускается, когда я набираю R в командной строке, хотя M-x R запускает 2.12.


person Abe    schedule 25.09.2012    source источник


Ответы (1)


Ответ, отличный от ESS, заключается в том, чтобы убедиться, что ваш PATH идентичен, а версия, которую вы хотите, идет первой. Похоже, есть разница между запускаемой оболочкой и запуском с участием Emacs. Вы можете запустить Emacs из своей оболочки с его PATH.

Ответ ESS, вероятно, включает в себя установку какой-то магической переменной... В Windows мы часто устанавливаем двоичный файл напрямую. Здесь код lisp говорит:

;; If you wish to call other versions of R on a Unix system, ESS
;; should auto-detect other versions of R, according to matches to the
;; variable `ess-r-versions' as described in its docstring.  Consider
;; changing that variable rather than changing inferior-R-program-name
;; if your version of R is not already auto-detected.
;;(setq-default inferior-R-program-name "R")        ; unix systems

так что это должно просто работать. Я храню только R в своем PATH и еще один вне него, поэтому я не могу проверить это здесь для вас. Но попробуйте поиграться с ess-r-version и/или inferior-R-program-name.

person Dirk Eddelbuettel    schedule 25.09.2012
comment
добавление (setq-default inferior-R-program-name "R2.15") работает! Спасибо, что помогли мне разобраться в этом. - person Abe; 25.09.2012
comment
В Windows это работает (настройте путь к R в соответствии с вашей установкой, избегайте пробелов в путях): (add-to-list 'load-path c:/emacs/site-lisp/ess/) (autoload 'R-mode ess -site.el ESS t) (добавить в список 'auto-mode-alist' (\\.R$ . R-mode)) (setq низшее-R-имя-программы c:/math/R323/bin/ Р); любой другой путь к R приведет к зависанию emacs-24.5.1 на windows7 с vgoulet.act. ulaval.ca/en/emacs/windows - person mosh; 29.07.2016