本文介绍了在RETICATE_Python环境变量中指定网状Python路径的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

每当我在RStudio中使用RETICATE时,默认的REPL是使用python2.7,但是我希望按照默认使用python3。我已经在环境变量RETICULATE_PYTHON中将python路径添加到python3到我的.bashrc,当我从命令行使用R和RETICATE时,Sys.getenv('RETICUALTE_PYTHON')返回/usr/bin/python3。如果使用在命令行中打开REPL,我会得到正确的路径。如果我在RStudio中执行同样的操作,我会得到一个空字符串。

R
Sys.getenv('RETICULATE_PYTHON')

返回R(从命令行):

[1] "/usr/bin/python3"

在RStudio中:

[1] ""

在RStudio终端中,输出正确:

echo $RETICULATE_PYTHON
/usr/bin/python3

另外,当我从命令行启动R时,py_config()是:

> library(reticulate)
> py_config()
python:         /usr/bin/python3
libpython:      /usr/lib/python3.6/config-3.6m-x86_64-linux-gnu/libpython3.6.so
pythonhome:     /usr:/usr
version:        3.6.7 (default, Oct 22 2018, 11:32:17)  [GCC 8.2.0]
numpy:          /usr/lib/python3/dist-packages/numpy
numpy_version:  1.14.5

NOTE: Python version was forced by RETICULATE_PYTHON

但在RStudio中是这样的:

> library(reticulate)
> py_config()
python:         /usr/bin/python
libpython:      /usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.so
pythonhome:     /usr:/usr
version:        2.7.15+ (default, Oct  2 2018, 22:12:08)  [GCC 8.2.0]
numpy:          /usr/lib/python2.7/dist-packages/numpy
numpy_version:  1.14.5

python versions found:
 /usr/bin/python
 /usr/bin/python3

重新启动RStudio无济于事。关于如何让RStudio也使用正确的python二进制文件,有什么建议吗?

推荐答案

遇到类似问题时,我通过在加载reticulate包之前指定Python配置解决了这个问题:

Sys.setenv(RETICULATE_PYTHON = "C:\ProgramData\Anaconda3")
library(reticulate)

这篇关于在RETICATE_Python环境变量中指定网状Python路径的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-05 05:39