के माध्यम से सभी पायथन मॉड्यूल लोड नहीं करता है मेरे पास बैश से और RStudio के भीतर से एक ही स्क्रिप्ट चलाने वाले कुछ अप्रत्याशित व्यवहार हैं।RStudio rpython कॉल
कृपया निम्नलिखित पर विचार करें।
# test1.R
library(rPython)
setwd("~/rpython")
python.load("test1.py")
number <- python.get("number")
string <- python.get("string")
print(sqrt(number))
print(string)
और
# test1.py
import random, nltk
number = random.randint(1, 1000)
string = nltk.word_tokenize('home sweet home')
मैं जो अपेक्षा के अनुरूप
>> Loading required package: RJSONIO
>> [1] 13.0384
>> [1] "home" "sweet" "home"
वापस आती है और अगर मैं फोन Rscript test1.R
साथ बैश से मेरी आर स्क्रिप्ट कॉल कर सकते हैं,: मैं "~/rpython"
दो लिपियों वाला कोई फ़ोल्डर है यह फिर से एक अलग यादृच्छिक संख्या
>> Loading required package: RJSONIO
>> [1] 7.211103
>> [1] "home" "sweet" "home"
लेकिन जब मैं RStudio चीजों से एक ही स्क्रिप्ट (test1.R
) चलाता हूं तो अजीब हो जाता है। यहाँ उत्पादन
# 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
किसी कारण जब मैं RStudio से स्क्रिप्ट फोन के लिए, पायथन दुभाषिया मॉड्यूल nltk
का पता नहीं लगा सकते हैं (यह अन्य pip
स्थापित मॉड्यूल के साथ एक ही प्रतीत हो रहा है), लेकिन random
आयात करने कोई समस्या नहीं है ।
क्या आप वर्चुअलनव या किसी अन्य जटिल इंस्टॉल/लाइब्रेरी पथ सेटअप का उपयोग कर रहे हैं? मैं [यह पिछला प्रश्न] देखता हूं (http://stackoverflow.com/questions/20337202/using-python-virtual-env-in-r) ... – BrenBarn
नहीं, जहां तक मुझे पता है। – CptNemo
क्या आप 'नंबर' और' स्ट्रिंग 'का व्यवहार तब भी करते हैं जब आप किसी नए आर सत्र में कोड चलाते हैं? – BrenBarn