RStudio lädt nicht alle Python-Module über den rPython-Aufruf

8

Ich habe einige unerwartete Verhaltensweisen, die dasselbe Skript von Bash und von RStudio aus ausführen.

Bitte beachten Sie Folgendes. Ich habe einen Ordner "~/rpython" mit zwei Skripten:

%Vor%

und

%Vor%

Ich kann mein R-Skript von Bash mit Rscript test1.R aufrufen, was wie erwartet zurückkommt

%Vor%

und wenn ich es erneut anrufe, wird eine andere Zufallszahl erzeugt

%Vor%

Aber wenn ich das gleiche Skript ( test1.R ) von RStudio aus starte, werden die Dinge merkwürdig. Hier die Ausgabe

%Vor%

Aus irgendeinem Grund, wenn ich das Skript von RStudio aus anrufe, kann der Python-Interpreter das Modul nltk nicht finden (es scheint dasselbe mit anderen pip installierten Modulen zu sein), hat aber kein Problem random zu importieren.

    
CptNemo 21.06.2014, 23:21
quelle

1 Antwort

6

Ich hatte dieses Problem auch. Das Problem war, dass mein Bash-Terminal anscheinend einen anderen Python aufruft als Rstudio. Ich habe auch gelernt, dass wenn Sie nur versuchen, Python.load () von rPython aufrufen, Sie wahrscheinlich besser mit system () aus der Basis-R-Bibliothek.

  1. Finde heraus, welches Python dein Bash-Terminal aufruft. Geh zu deinem Bash-Terminal und führe which python aus. Für mich (OS X 10.11.5) war es /usr/local/bin/python . Jetzt, da wir den vollständigen Pfad kennen, können wir ihn explizit aufrufen und verhindern, dass R eine andere Version auswählt, die möglicherweise in einer Ecke des Rechners installiert ist.
  2. Verwenden Sie system() , um bash-Befehle von R anstelle von python.load() aufzurufen, und verwenden Sie den vollständigen Pfad zu Ihrem Skript. Mit Ihrem Beispielskriptnamen und meinem Beispiel-Python-Pfad wäre es system('/usr/local/bin/python /path/to/file/test.py1')

Hoffe das hilft!

    
Kevin M Walsh 17.11.2016 05:05
quelle

Tags und Links