Bash'ten ve RStudio içinden aynı komut dosyasını çalıştıran bazı beklenmedik davranışlarım var.RStudio, tüm Python modüllerini rPython çağrısı ile yüklemiyor
Lütfen aşağıdakileri dikkate alın.
# test1.R
library(rPython)
setwd("~/rpython")
python.load("test1.py")
number <- python.get("number")
string <- python.get("string")
print(sqrt(number))
print(string)
ve
# test1.py
import random, nltk
number = random.randint(1, 1000)
string = nltk.word_tokenize('home sweet home')
Ben
>> Loading required package: RJSONIO
>> [1] 13.0384
>> [1] "home" "sweet" "home"
beklendiği gibi döner ve Ararsam hangi Rscript test1.R
ile Bash benim R komut arayabilir: Ben "~/rpython"
iki komut dosyalarını içeren bir klasör var tekrar farklı bir rasgele sayı üretecektir
>> Loading required package: RJSONIO
>> [1] 7.211103
>> [1] "home" "sweet" "home"
Fakat aynı senaryoyu (test1.R
) RStudio'dan çalıştırdığımda garip oluyor. İşte RStudio komut dosyası çağırın Nedense çıkış
# test1.R
>
> library(rPython)
Loading required package: RJSONIO
>
> setwd("~/rpython")
>
> python.load("test1.py")
Error in python.exec(code, get.exception) : No module named nltk
>
> number <- python.get("number")
Traceback (most recent call last):
File "<string>", line 1, in <module>
NameError: name 'number' is not defined
Error in python.get("number") : Variable not found
> string <- python.get("string")
Traceback (most recent call last):
File "<string>", line 1, in <module>
NameError: name 'string' is not defined
Error in python.get("string") : Variable not found
>
> print(sqrt(number))
Error in print(sqrt(number)) : object 'number' not found
> print(string)
Error in print(string) : object 'string' not found
, Python yorumlayıcısı modülünü nltk
bulamaz (diğer pip
yüklü modülleri ile aynı gibi görünüyor) ama random
ithal sorunu yok .
Bir virtualenv veya başka bir karmaşık yükleme/kütüphane yolu kurulumu mu kullanıyorsunuz? [Bu önceki soru] (http://stackoverflow.com/questions/20337202/using-python-virtual-env-in-r) adresini görüyorum ... – BrenBarn
Hayır, bildiğim kadarıyla. – CptNemo
Kodu yeni bir R oturumunda çalıştırsanız bile 'sayı 've' dize' davranışı hala devam ediyor mu? – BrenBarn