R包:reticulate

学习资料

Demo Project

Cheatsheet:Use Python with R with reticulate

在 R Markdown 中使用Python

在 R 中使用Python

从 R 代码中调用 Python 的三种方式

导入 Python 模块

引入 Python 文件

运行 Python 代码

对象转换

帮助文档

捕获并返回 Python 输出

py_capture_output("x")
py_supress_warnings("x")

获取 Python 对象的属性

py_get_attr(x)
py_set_attr()
py_has_attr()
py_list_attributes()

打开 Python 对象的文档页面

py_help(sns)

获取最后遇到的 Python 错误

py_last_error()
py_clear_last_error()  # 用于清除最后错误

使用 pickle 保存和加载 Python 对象

py_save_objects(x, "x.pickle")
py_load_object(x, "x.pickle")

在 Python 上下文中评估一个表达式

py <- import_builtins()
with(py$open("output.txt", "w") %as% file,
     {file$write("Hello, there!")})

在 IDE 中使用Python

Python REPL:Python 交互式解释器

配置 Python

Python查询

下载并安装 Python

install_python("3.9.16")

检查是否安装了 Python

py_available()
py_module_available()
py_numpy_module()

返回检测到的 Python 安装

py_discover_config()

检查已加载的版本

py_config()

列出所有可用的虚拟环境

virtualenv_list()
virtualenv_root()

列出所有可用的 conda 环境

conda_list(conda = "auto")
conda_binary()
conda_version()

创建 Python 环境

创建一个新的虚拟环境

virtualenv_create("r-pandas")

创建一个新的 conda 环境

conda_create("r-pandas", packages = "pandas")

安装 Python 包

使用 shell 安装 Python 包

pip install SciPy
conda install SciPy

使用 R 安装 Python 包

将 Python 包安装到 Python 环境中
py_install("pandas")
在虚拟环境中安装一个包
virtualenv_install("r-pandas", packages = "pandas")
virtualenv_remove()
在 conda 环境中安装一个包
conda_install("r-pandas", packages = "plotly")

设置环境

设置方法

未设置环境变量时的策略

reticulate 将按照以下顺序扫描计算机上的实例,并在找到名为 import() 的模块的第一个实例时停止扫描。

1. 引用环境变量 RETICULATE_PYTHON 的实例
Sys.setenv(RETICULATE_PYTHON = "/usr/local/bin/python")
Sys.unsetenv()  # 撤销方法
2. 在调用 import() 之前由 use_ 函数处理
Python 二进制文件的路径
use_python("usr/local/bin/python")
Python 虚拟环境的路径或名称
use_virtualenv("~/myenv")
#| eval: false
use_virtualenv("~/myenv") # path to venv
use_virtualenv("r-keras") # name of venv
3. 当前工作目录中找到一个虚拟环境:“./.venv”
4. 环境名称以导入的模块命名。例如,“~/.virtualenvs/r-scipy/”对应于 import("scipy")
5. 该包默认虚拟环境,“r-reticulate”
6. 在系统 PATH 中发现的 Python 二进制文件位置 Sys.which("python")

reticulate vignettes

Powered by Forestry.md