2017-10-13 71 views
5

Właśnie zainstalowałem R na nowym Microsoft Windows 7 komputer i używam w następujący błąd przy użyciu wiersza polecenia:problem podczas wywoływania pliku wykonywalnego w ścieżce, która ma zaplecze

"C:\Program Files\R\R-3.3.2\bin\Rscript.exe" --version 
'C:\Program' is not recognized as an internal or external command, 

program wykonywalny lub plik wsadowy.

Zauważ, że dodałem powyżej cudzysłowu wokół ścieżki za pomocą spacji. I że zostały dodane w ścieżce systemowej:

;C:\Program Files\R\R-3.3.2\bin\

Co ciekawe:

  1. jeśli po prostu nazwać to Rscript.exe --version to daje ten sam błąd, co jest bardzo dziwne: jeśli go znajdzie, dlaczego nie mogę tego uruchomić!?! Jedynym wyjaśnieniem mogę znaleźć jest to, że błąd występuje, gdy szukasz zależność Rscript.exe
  2. Zauważyłem również, że to działa "C:\Program Files\R\R-3.3.3\bin\x64\Rscript.exe" --version (oba foldery ...\bin i ...\bin\x64 mieć wykonywalny Rscript.exe)

Na koniec potwierdzam, że jest to pytanie specyficzne dla R, ponieważ wszystkie inne pliki wykonywalne, które wypróbowałem w podfolderze Plików Programowych, można wywołać za pomocą tego samego interfejsu wiersza poleceń!

+1

Twój tytuł Q wydaje się niezwiązany z twoim Q? – MichaelChirico

+0

@MichaelChirico To naprawdę nie jest pytanie R :-) –

+1

Nie można tego odtworzyć. Wywołanie '>" C: \ Program Files \ R \ R-3.3.3 \ bin \ Rscript.exe "--version" doprowadziło do '' 'R-scripting front-end version 3.3.3 (2017-03-06) ' – Heikki

Odpowiedz

0

Wyjazd

C:\Users>Rscript --help 
Usage: /path/to/Rscript [--options] [-e expr [-e expr2 ...] | file] [args] 

--options accepted are 
    --help    Print usage and exit 
    --version   Print version and exit 
    --verbose   Print information on progress 
    --default-packages=list 
         Where 'list' is a comma-separated set 
         of package names, or 'NULL' 
or options to R, in addition to --slave --no-restore, such as 
    --save    Do save workspace at the end of the session 
    --no-environ  Don't read the site and user environment files 
    --no-site-file  Don't read the site-wide Rprofile 
    --no-init-file  Don't read the user R profile 
    --restore   Do restore previously saved objects at startup 
    --vanilla   Combine --no-save, --no-restore, --no-site-file 
         --no-init-file and --no-environ 

'file' may contain spaces but not shell metacharacters 
Expressions (one or more '-e <expr>') may be used *instead* of 'file' 
See also ?Rscript from within R 

Zajmując swoją teorię, że niektóre zależność jest uszkodzony, miałem nadzieję, że --verbose wskazywałyby jakie inne pliki Rscript próbuje odczytać. Bez takiego szczęścia.

Nawiasem mówiąc, prawie żadna z tych opcji nie jest dla mnie użyta, chyba że dostarczę Rscriptowi także niektórych poleceń - w przeciwnym razie dalej będzie narzekać "brak nazwy pliku". Więc z żadnej z tych możliwości, możesz iść z czymś jak

C:\Users>Rscript --verbose -e print(2+2) 

Mając na uwadze powyższe, można dalej kontynuować swoją teorię używając opcji jak --no-environ, --no-site-file, --vanilla, etc., aby go pominąć dowolny plik zależności i sprawdź, czy gdzieś cię to zaprowadzi.

2

Próbowałam powtórzyć swój problem i znalazłem jedną rzecz w swoim pytaniu: Wspomniał pan, że to nie działa:

"C:\Program Files\R\R-3.3.2\bin\Rscript.exe" --version 
'C:\Program' is not recognized as an internal or external command, 

Ale to robi:

"C:\Program Files\R\R-3.3.3\bin\x64\Rscript.exe" --version 

Wydaje się, że używasz R-3.3.3 w przykładzie, który działa, a R-3.3.2 w przykładzie, który tego nie robi.

Więc zakładam, że jeśli go zmienić na

"C:\Program Files\R\R-3.3.3\bin\Rscript.exe" --version 

powinno działać.

Powiązane problemy