每当我在RStudio中使用reticulate时,默认的REPL都是使用python2.7,但我希望默认使用python3。我已经在环境变量RETICULATE_PYTHON中将python3的python路径添加到我的.bashrc中,当我从命令行使用R和reticulate时,Sys.getenv('RETICUALTE_PYTHON')返回/usr/bin/python3。如果在命令行中使用打开REPL,我会得到正确的路径。如果我在RStudio中执行同样的操作,我会得到一个空字符串。
RSys.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二进制文件,有什么建议吗?
发布于 2020-10-13 17:22:00
当遇到类似的问题时,我通过在加载reticulate包之前指定Python配置来解决它:
Sys.setenv(RETICULATE_PYTHON = "C:\\ProgramData\\Anaconda3")
library(reticulate)发布于 2022-01-14 21:31:29
The documentation说在.Rprofile中设置它
Sys.setenv(RETICULATE_PYTHON="/path/to/your/preferred/python")如果你总是想要一个固定的Python。否则,执行as @nba2020 suggests以在特定脚本中设置它。
发布于 2022-02-09 04:37:15
我使用的解决方案是使用工具>全局选项将RStudio的默认Python解释器设置为我希望RStudio使用的解释器的路径。
在我的例子中,我也使用"C:/tools/Anaconda3/envs/dev/python.exe“来设置它。
我假设同样的解决方案也适用于Linux。

https://stackoverflow.com/questions/59842256
复制相似问题