首页 > 解决方案 > 无法找到带有网状结构的 conda 二进制文件 - use_python 路径问题

问题描述

我正在尝试在 R 工作室中使用网状结构。我有几个 python 选项,但是在运行 use_python("/opt/conda/bin/python3", required = TRUE)conda 时仍然无法使用以下函数找到。我在下面粘贴我的 python 路径选项。有什么建议么?

reticulate::conda_list()
reticulate::conda_python()
reticulate::conda_version()

以上函数找不到conda。
错误:无法找到 conda 二进制文件。Anaconda 安装了吗?

使用py_config()我注意到我有几个 python 选项 - 但是在指定这些时我无法启动 python。

use_python("/opt/conda/bin/python3", required = TRUE)
use_condaenv(conda = "/opt/conda/bin/python3", required = TRUE)


python:         /opt/conda/bin/python
libpython:      /opt/conda/lib/libpython3.8.so
pythonhome:     /opt/conda:/opt/conda
version:        3.8.5 (default, Sep  4 2020, 07:30:14)  [GCC 7.3.0]
numpy:          /opt/conda/lib/python3.8/site-packages/numpy
numpy_version:  1.19.5
os:             /opt/conda/lib/python3.8

python versions found: 
 /opt/conda/bin/python
 /usr/bin/python3
 /opt/conda/bin/python3
 /usr/bin/python
 /usr/local/bin/python

标签: pythonrrstudiocondareticulate

解决方案


您的代码不起作用的原因在于错误的规范。

对于use_python,路径必须指向 conda 环境的 python 可执行文件,看起来像/opt/conda/envs/<env_name>/bin/python. 重要的是它包含文件夹envs

对于use_condaenv,文档指定了它的参数:

condaenv    
The name of the Conda environment to use.

conda   
The path to a conda executable. By default, reticulate will check the PATH, as well as other standard locations for Anaconda installations.

因此,对于 condaenv,您可以指定 conda 环境的名称,例如“reticulate”。对于 conda,您可以指定 conda 可执行文件的路径,您可以通过打开终端并键入 轻松找到该路径which conda。这给了我例如miniforge3/condabin/conda(对于 M1 苹果硅)。

在您的情况下,它可能看起来像:

use_condaenv(conda = "/opt/conda/bin/conda", condaenv = "<env_name>")

推荐阅读