2013-05-31 14 views
5

Zainstalowałem R w katalogu o nazwie "X: \ alphaAndOmega \ R \ R". Tak więc Rterm.exe (wersja 32-bitowa) znajduje się w "X: \ alphaAndOmega \ R \ R \ bin \ i386". Wiem, że nie jest to "standardowy katalog R" i że "standardowe katalogi R", takie jak R-3.0.0, są łatwo rozpoznawane przez ESS (przynajmniej jeśli dodaję je do mojej zmiennej PATH w systemie Windows).Program ESS nie znajduje pliku Rterm.exe w systemie Windows

Próbowałem dostosować mój plik .emacs w taki sposób, aby ESS szukał Rterm.exe w moim niestandardowym katalogu, ale nie byłam w stanie tego zrobić. Jestem całkowicie nowy w emacs i starałem zabawy wird niektóre z poniższych poleceń:

inferior-R-program-name i ess-rterm-version-paths

Ale nie udało mi się. ESS niczego nie znajduje.

Używam emacs 24.3.1, ESS 13.05 i R 2.15. W tej chwili mój plik .emacs zawiera tylko jedną linię, więc nie powinno być problemu:

(require 'ess-site)

Co mogę zrobić, aby ESS znaleźć Rterm.exe?

Odpowiedz

4

Naprawdę istnieje tylko jedno ustawienie konfiguracyjne w ess-site.el; Użyłem tego w przeszłości. Oto ona od ess-site.el jednak pamiętać, że jest zakomentowanych:

;; 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  
;;(setq-default inferior-R-program-name "Rterm") ; MS Windows, see below for path 
;;(setq-default inferior-R-program-name "C:\\Program Files\\R\\R-2.5.0\\bin\\Rterm.exe") 

A ja po prostu sprawdzić na moim komputerze pracy, a tam Rterm.exe znajduje się domyślnie z $PATH. Używam Emacs/ESS/AucTeX bundle by Vincent Goulet, który mogę z całego serca polecić jako "po prostu działa".

2

Aby skierować ESS do niestandardowego katalogu R, należy ustawić zmienną ess-directory-containing-R. (Ta zmienna przydatny jest stosunkowo nowym elementem.) Cytując the ESS manual:

Zmiany/Nowości w 12.09:

ESS [R]: W systemie Windows nie ma teraz nowy konfigurowalny zmienna (obecnie o nazwie ess-directory-zawierający-R), aby poinformować ESS, gdzie do szukać plików wykonywalnych Rterm.exe. Nazwa zmiennej i wartości, które może ona przyjąć, są w wersji beta i mogą ulec zmianie. Przed tą zmienną ESS przeszukiwał tylko w katalogu domyślnej instalacji . Ustawienie tej zmiennej informuje program ESS, jak znaleźć pliki wykonywalne Rterm.exe , gdy są one zainstalowane w innym miejscu.

Jeśli dobrze pamiętam, należy to zrobić przed załadowaniem ess-site.el; w każdym razie to, co mam w moim pliku .emacs, która robi świetną robotę znalezienia wszystkich moich wersjach R, które są przechowywane pod "C:/R/":

(setq ess-directory-containing-R "c:") 
;; Add to list of prefixes recognized by ESS. 
;; Matching versions will appear after doing M-x R <TAB> <TAB> 
(setq ess-r-versions '("R-1" "R-2" "R-3" "R-current" "R-devel" "R-patched")) 
(load "C:/Program Files/GNU Emacs 23.3/site-lisp/ess/lisp/ess-site.el") 

;; Set default R version, (i.e. the one launched by typing M-x R <RET>) 
(setq inferior-R-program-name "c:/R/R-current/bin/i386/Rterm.exe") 
+0

@Wolfgang - Próbowałeś tego? Zadziałało? –

1

Ustawianie zawierający ESS-Directory-R zmiennej nie działa, gdy miałem ten problem. Co więcej, kiedy zrobiłem na nim "zmienną opisującą", na innej maszynie, na której działały poprawnie działające emisje, wartość ta była zerowa, więc nie sądzę, że to prawda.

Co to jest praca DID ustawiająca zmienną PATH w środowisku Windows tak, aby wskazywała katalog, w którym znajduje się program Rterm.exe, a następnie ponownie uruchamia emacs.

Powiązane problemy