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:
und
%Vor% Ich kann mein R-Skript von Bash mit Rscript test1.R
aufrufen, was wie erwartet zurückkommt
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
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.
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.
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. 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!