经过几天的搜索,我找到了正确设置网状路径的方法。这个问题也解决了主要问题。.Renviron 文件是一个用户可控的文件,可用于创建环境变量。因此,.Renviron 文件可用于存储可从计算机中的所有 R 项目访问的信息。
首先,您需要找到您的位置.Renviron
文件。为了找到你的道路.Renviron
文件,您可以在 RStudio 控制台上键入:
usethis::edit_r_environ()
就我而言,它返回:
* Modify 'C:/Users/xxxxx/Documents/.Renviron'
* Restart R for changes to take effect
然后,您可以导航到以下位置:.Renviron
手动归档。 (注意:当我在我的场景中打开它时,它是空的。)然后粘贴完整路径python.exe
文件内为:
RETICULATE_PYTHON="YourEnvironmentPath/python.exe"
Tip:如果您不确定完整的 python 路径,您可以将其获取为:
reticulate::conda_python("keras_bert")
请不要忘记输入您的环境名称而不是我的环境名称 >keras_bert
)。
然后我得到:
[1] "C:\\Anaconda3\\envs\\keras_bert/python.exe"
就我而言,我粘贴了:
RETICULATE_PYTHON="C:\\Anaconda3\\envs\\keras_bert/python.exe"
或者(在 Windows 上),您可以单击开始并打开Windows Powershell。然后将此代码复制到 powershell 中以处理相同的事情:
Add-Content C:\Users\xxxxx\Documents/.Renviron 'RETICULATE_PYTHON="C:\\Anaconda3\\envs\\keras_bert/python.exe"'
为了查看更新,您必须关闭并重新打开 RStudio 以获得干净的 RStudio 会话。现在,运行以下行来检查一切是否正常:
Sys.getenv('RETICULATE_PYTHON')
or:
reticulate::py_config()
就我而言,它返回:
[1] "C:/Anaconda3/envs/keras_bert/python.exe"
or:
python: C:/Anaconda3/envs/keras_bert/python.exe
libpython: C:/Anaconda3/envs/keras_bert/python38.dll
pythonhome: C:/Anaconda3/envs/keras_bert
version: 3.8.13 | packaged by conda-forge | (default, Mar 25 2022, 05:59:45) [MSC v.1929 64 bit (AMD64)]
Architecture: 64bit
numpy: C:/Anaconda3/envs/keras_bert/Lib/site-packages/numpy
numpy_version: 1.23.2
NOTE: Python version was forced by RETICULATE_PYTHON
简而言之,使用此解决方案,您无需关心是否在 R 会话开始时声明环境或任何其他混乱的场景。