Reputation: 403
I would like to import a python file and then use a function within the python file; but it does not work (it only work for source_python). Is it suppose to be this way?
In python file called the_py_module.py includes this code:
def f1():
return "f one"
def f2():
return "f two"
R script
# Trying to import the python file, which appear to work:
reticulate::import("the_py_module")
Gives this output: Module(the_py_module)
# But when calling the function:
f1()
I get error saying: Error in f1() : could not find function "f1"
This works using source python script though.
reticulate::source_python("the_py_module.py")
f1()
Upvotes: 5
Views: 1014
Reputation: 13375
Try the following approach:
> library(reticulate)
> my_module <- import(the_py_module)
> my_module$f1()
[1] "f one"
or, using your approach
> my_module_2 <- reticulate::import("the_py_module")
> my_module_2$f1()
[1] "f one"
Upvotes: 1