我已使用从官方Python站点下载的官方OSX软件包在High Sierra的默认位置安装了Python 3.7。当我运行时
which python3
我明白了
/Library/Frameworks/Python.framework/Versions/3.7/bin/python3
然后,我在R Studio中运行以下行
reticulate::use_python(python = '/Library/Frameworks/Python.framework/Versions/3.7/bin/python3')
sys <- import("sys")
sys$version
看来我仍指向2.7的默认安装
[1] "2.7.10 (default, Oct 6 2017, 22:29:07) \n[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)]"
我尝试了许多其他途径,例如
/usr/local/bin/python3
/usr/local/bin
/Library/Frameworks/Python.framework/Versions/3.7/lib
/usr/bin/python
/Applications/Python 3.7
等等,但似乎没有任何作用。 (仍显示2.7.10)
显然,我尝试使用谷歌搜索解决方案,但不幸的是无济于事。
任何指导将不胜感激。
更新:
我终于通过以下方式使它起作用:
library(reticulate)reticulate::use_python(python = '/Library/Frameworks/Python.framework/Versions/3.7/bin/python3', required = T)sys <- import("sys")sys$version
得到以下响应:
[1] "3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24) \n[Clang 6.0 (clang-600.0.57)]"
/usr/bin/python
之类的错误路径,我将需要重新启动R session ,否则网状结构将继续引用现有的Python版本。 简而言之,问题是由在对
reticulate::use_python
函数的初始调用中指定的错误路径引起的,并且随后具有正确路径的调用将不生效,因为它需要"new" R session 。 最佳答案
参见https://github.com/rstudio/reticulate/issues/45:
另请参阅https://github.com/rstudio/reticulate/issues/227:
有时,仅搜索功能名称“reticulate::use_python”会有所帮助。