I am trying to import a python module in R using the reticulate
package. The module can be found here. I cloned the repository and ran python setup.py install
which ran successfully. If I open a python shell, I'm able to import debot
. However, when I try to import it in RStudio, I get the following error:
dbot=import("debot")
Error in py_module_import(module, convert = convert) :
ImportError: No module named debot
I am on macOS Sierra version 10.12.6 and installed python 3.6 through Anaconda. I have also tried giving the path to python as:
path_to_python <- "/anaconda/bin/python3.6"
use_python(path_to_python)
When I run python from a terminal, I get:
Python 3.6.1 |Anaconda 4.4.0 (x86_64)| (default, May 11 2017, 13:04:09)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Not sure if the path to python is correct.
Ok, did some more digging around and discovered that reticulate
still refers to my older python path for python 2.7 which came as default with my Macbook. When I run py_config()
, this is what I get:
python: /usr/bin/python
libpython: /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/libpython2.7.dylib
pythonhome: /System/Library/Frameworks/Python.framework/Versions/2.7:/System/Library/Frameworks/Python.framework/Versions/2.7
version: 2.7.10 (default, Feb 7 2017, 00:08:15) [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)]
No matter what I try but I can't get reticulate
to look at the correct path where the module has been installed using the use_python()
function. I do believe this is an issue with reticulate
. Any ideas what my next steps should be?
Any Python package you install from PyPI or Conda can be used from R with reticulate. Each version of Python on your system has its own set of packages and reticulate will automatically find a version of Python that contains the first package that you import from R.
package comes with a Python engine you can use in R Markdown. Reticulate allows you to run chunks of Python code, print Python output, access Python objects, and so on. Easy, right? You can import any Python library and write any Python code you want, and then access the variables and functions declared with R.
With RStudio products you can combine R and Python seamlessly without extra overhead. You can use the RStudio IDE for R, but also for bilingual tasks. With RStudio Workbench, launch Jupyter Notebooks, JupyterLab, or VS Code for Python.
After reading this I finally figured out. I think before calling any other function from the reticulate
package, it is imperative to specify the path to python to use. Hence the order I am following now is:
library(reticulate)
path_to_python <- "/anaconda/bin/python"
use_python(path_to_python)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With