Wer*_*era 1 python r python-3.x rstudio
我知道以前有人问过类似的问题,但我要么不明白答案,要么根本没有;所以我决定尽可能详细地描述我的问题。
问题:RStudio reticulate 包使用来自以下路径的 Python:
"/usr/bin/python"
Run Code Online (Sandbox Code Playgroud)
但我希望它从这个路径使用 python - 总是,作为默认值:
"/Library/Frameworks/Python.framework/Versions/3.7/bin/python3"
Run Code Online (Sandbox Code Playgroud)
我怎么知道它发生了?我打开 RStudio,并创建一个新的 python 脚本。生成一个扩展名为 .py 的新文件。我输入一些东西:
import pandas as pd
Run Code Online (Sandbox Code Playgroud)
并执行(通过单击 cmd+enter)。然后我看到控制台中发生了什么 - 网状包被称为:
reticulate::repl_python()
Python 2.7.10 (/usr/bin/python)
Reticulate 1.12 REPL -- A Python interpreter in R.
Run Code Online (Sandbox Code Playgroud)
我想永久更改 reticulate 包查找 Python 的位置。从终端我知道:
$ python --version
Python 3.7.3
which python3
/Library/Frameworks/Python.framework/Versions/3.7/bin/python3
Run Code Online (Sandbox Code Playgroud)
所以,我想告诉 RStudio 总是在这条路径中寻找 Python 3.7。我尝试使用以下命令,从 R 脚本运行:
use_python("/Library/Frameworks/Python.framework/Versions/3.7/bin/python3")
Run Code Online (Sandbox Code Playgroud)
但它没有做任何事情 - 我天真的理解是这个命令在 R markdown 文件中很有用,即当我有将 R 和 Python 组合成不同块的代码时。我想更改从 RStudio 中运行 Python 脚本时使用的路径。有我可以编辑的某种配置文件吗?
我希望这是有道理的。我不是一个普通的 Python 用户,现在才开始学习,而且我对路径也不是很擅长,所以我希望得到逐步的答案。
好的,所以我发布得太早了 - 经过更多的谷歌搜索后,我可以自己解决这个问题,但我认为对于像我这样的人(即不精通路径或精通python),值得在此处发布答案。
有一个类似于 R 的配置文件,称为 .Renviron。要访问它,请使用终端转到您的主目录(即您键入“cd”时转到的那个目录)。如果您以前从未使用过此文件,则它可能不存在,在这种情况下,您需要创建它。
进入主目录后,键入:
ls -a
Run Code Online (Sandbox Code Playgroud)
然后检查出现的文件列表是否存在 .Renviron。下面是说明如果您已经拥有 .Renviron(如果是),以及如果您没有(如果否)怎么办。
如果否,请键入:
touch .Renviron
Run Code Online (Sandbox Code Playgroud)
创建文件。
如果是,请按以下步骤操作(不使用 touch 命令)。
写:
nano .Renviron
Run Code Online (Sandbox Code Playgroud)
.Renviron 文件将打开。在其中添加一行内容:
RETICULATE_PYTHON="enter your desired path here"
Run Code Online (Sandbox Code Playgroud)
所以,就我而言,这是:
RETICULATE_PYTHON="/Library/Frameworks/Python.framework/Versions/3.7/bin/python3"
Run Code Online (Sandbox Code Playgroud)
现在通过退出 nano (ctrl+x) 并在询问是否保存更改时单击“y”来保存文件(按“y”然后按 Enter)。
重启你的 RStudio。它现在应该可以工作了。我希望这是有用的!