Can';t了解如何在networkite::use_condaenv(path)之后使用conda环境

Can';t了解如何在networkite::use_condaenv(path)之后使用conda环境,r,rstudio,reticulate,R,Rstudio,Reticulate,我使用终端创建了一个conda环境: conda create --name pathfinder_example_proj_env python=3.6 feather-format=0.4.0 statsmodels=0.9.0 我还创建了一个简单的python脚本 import feather import pandas as pd import statsmodels.api as sm print("Done") 在R笔记本中,我现在希望在我先前创建的conda环境中运行该脚本

我使用终端创建了一个conda环境:

conda create --name pathfinder_example_proj_env python=3.6 feather-format=0.4.0 statsmodels=0.9.0
我还创建了一个简单的python脚本

import feather
import pandas as pd
import statsmodels.api as sm

print("Done")
在R笔记本中,我现在希望在我先前创建的conda环境中运行该脚本

我试过:

reticulate::use_condaenv("pathfinder_example_proj_env", required = TRUE)
reticulate::source_python("../python/python_model.py")
但我得到了以下错误:

Error in py_run_file_impl(file, local, convert) : ImportError: No module named feather
当我检查python Networkite使用的版本时,我得到:

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
我使用py_discover_config()检查了可用版本

如您所见,虚拟环境已列出。我只是不知道如何使用它

我已经阅读了网状网站上的所有文章:

我还在Github上发现了几个线程:


我在这里找到了解决方案:

安装开发版本的Netracite(devtools::install_github(“rstudio/netracite”)后,Netracte将按预期使用conda环境

保留此帖子,以防其他人遇到此问题。

这件事奏效了:

通过将网状PYTHON环境变量的值设置为PYTHON二进制文件。请注意,如果设置此环境变量,则将始终使用指定版本的PYTHON(即,这是规定性的,而不是建议性的)。要设置网状PYTHON的值,请插入Sys.setenv(网状PYTHON=PATH)进入项目的.Rprofile,其中PATH是您首选的Python二进制文件。

这对我很有用

library(reticulate)

myenvs=conda_list()

envname=myenvs$name[2]
use_condaenv(envname, required = TRUE)
# or
use_condaenv("r-miniconda", required = TRUE)

有时需要重新启动r会话。

对我很有用!我使用的是python路径,而不是env名称。谢谢!
library(reticulate)

myenvs=conda_list()

envname=myenvs$name[2]
use_condaenv(envname, required = TRUE)
# or
use_condaenv("r-miniconda", required = TRUE)