gpt4 book ai didi

使用 R reticulate 包重新加载 Python 模块

转载 作者:行者123 更新时间:2023-12-03 17:32:06 25 4
gpt4 key购买 nike

我想知道是否有办法通过 reticulate 重新加载导入到 R 中的模块。包,类似于 autoreload IPython 的扩展。例如,假设我正在本地开发自己的模块,我可能会通过以下方式导入它

library(reticulate)
import_from_path("mypackage", "/path/to/package")

但是,如果我对 mypackage 进行代码更改我能想到反射(reflect)它们的唯一方法是重新启动 R。这与无法重新加载模块的正常 Python 行为一致。一种解决方法是从我正在更改的包中获取一个文件,即
source_python("/path/to/package/file.py")

但是,如果 file.py正在导入本地包中正在更改的其他文件,而不反射(reflect)对这些文件的更改。

最佳答案

可以通过调用 Python 命令重新加载:

对于 Python 2.7

> builtins <- import_builtins()
> builtins$reload(your_module)

对于 Python 3
> importlib <- import("importlib")
> importlib$reload(your_module)

关于使用 R reticulate 包重新加载 Python 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51968438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com