我已使用从官方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)
很明显,我已经尝试使用Google搜索解决方案,但不幸的是没有结果。 任何指导将不胜感激。
更新: 我终于得到它的工作依据:
运行以下命令:
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会话,否则网状结构将继续引用现有的Python版本。
简而言之,问题是由在对reticulate::use_python
函数的初始调用中指定的错误路径引起的,并且随后具有正确路径的调用不会生效,因为它需要一个“新” R会话。 / p>
答案 0 :(得分:2)
请参见https://github.com/rstudio/reticulate/issues/45:
做
library("reticulate") use_python("/usr/bin/python", required = T)
先于其他
另请参阅https://github.com/rstudio/reticulate/issues/227:
reticulate总是会喜欢一个包含NumPy的Python版本,而不是一个不包含它的版本。 / usr / local / bin / python3中的版本是否具有NumPy?
很明显,我已经尝试使用谷歌搜索解决方案
有时候,只搜索功能名称“ reticulate :: use_python”会有所帮助。