I created a conda environment using the terminal:
conda create --name pathfinder_example_proj_env python=3.6 feather-format=0.4.0 statsmodels=0.9.0
I also created a trivial python script
import feather
import pandas as pd
import statsmodels.api as sm
print("Done")
In an R notebook, I now want to run that script from within the conda environment I created earlier.
I tried:
reticulate::use_condaenv("pathfinder_example_proj_env", required = TRUE)
reticulate::source_python("../python/python_model.py")
But I get the following error:
Error in py_run_file_impl(file, local, convert) : ImportError: No module named feather
When I check the version of python reticulate is using I get:
reticulate::py_config()
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, Oct 6 2017, 22:29:07) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)]
numpy: /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy
numpy_version: 1.8.0
python versions found:
/usr/bin/python
/Users/bradcannell/anaconda/bin/python
/Users/bradcannell/.virtualenvs/bradcannell-_MDC9FPE/bin/python
I checked for available versions using py_discover_config()
reticulate::py_discover_config()
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, Oct 6 2017, 22:29:07) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)]
numpy: /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy
numpy_version: 1.8.0
python versions found:
/usr/bin/python
/Users/bradcannell/anaconda/bin/python
/Users/bradcannell/.virtualenvs/bradcannell-_MDC9FPE/bin/python
/Users/bradcannell/anaconda/envs/pathfinder_example_proj_env/bin/python
And as you can see, the virtual environment is listed. I'm just not sure how to use it.
I've read all the articles on the reticulate website:
https://rstudio.github.io/reticulate/index.html
I also found a couple of threads on Github:
https://github.com/rstudio/reticulate/issues/1
https://github.com/rstudio/reticulate/issues/292
To activate your Conda environment, type source activate <yourenvironmentname> . Note that conda activate will not work on Discovery with this version. To install a specific package, type conda install -n <yourenvironmentname> [package] . To deactivate the current, active Conda environment, type conda deactivate .
Type: conda activate myenv To exit an environment, you'd enter conda deactivate.
This works for me;
library(reticulate)
myenvs=conda_list()
envname=myenvs$name[2]
use_condaenv(envname, required = TRUE)
# or
use_condaenv("r-miniconda", required = TRUE)
restart r session is needed sometimes.
I found the solution here: https://community.rstudio.com/t/reticulate-source-python-and-exec-problems/7386/6
After installing the development version of reticulate (devtools::install_github("rstudio/reticulate") reticulate uses the conda environment as expected.
Leaving this post up in case anyone else runs into this issue.
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