簡體   English   中英

如何在OSX High Sierra中正確設置網狀包的Python路徑?

[英]How to properly set the Python path for the reticulate package in OSX High Sierra?

我已經使用從官方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搜索解決方案,但遺憾的是無濟於事。 任何指導將不勝感激。


更新:我終於得到了它的工作:

  1. 按照serv-inc的建議重新啟動R Session
  2. 運行以下命令:

    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)]"

  3. 如果我錯誤地指定了錯誤的路徑,例如/usr/bin/python ,我將需要重新啟動R會話,否則網格將繼續引用現有的Python版本。

簡而言之,問題是由於對reticulate::use_python函數的初始調用中指定的錯誤路徑引起的,並且具有正確路徑的后續調用將不會生效,因為它需要“新鮮”R會話。

請參閱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”有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM