【发布时间】:2019-08-24 05:16:00
【问题描述】:
我开始使用 reticulate 包以便能够将 python 与 R 一起使用。 python 中的代码实际上可以工作,但是当尝试获取 R 中的代码时,它返回 NULL。
我认为问题是因为我实际使用的 python 是随 Anaconda 一起安装的,而 RStudio 没有。我使用的是 Ubuntu 18.04。
我已经尝试过简单的测试代码,但是我尝试过的任何内容都返回 NULL 喜欢:
x = 5
py$x #Returns NULL
这就是我的代码的实际外观。
library(reticulate)
def main():
string1 = "http://ine.es/jaxiT3/files/t/es/xlsx/"
string2 = ".xlsx?nocab=1"
lista = list()
for i in range(2854,2910):
url = string1 + str(i) + string2
if i != 2855 + 12 and i != 2855 + 32 and i != 2855 + 42 and i != 2855 + 43:
lista.append(url)
if __name__ == "__main__":
main()
py$lista #It returns NULL instead the list
它应该返回带有 URL'S 的列表/向量,我知道有一种方法可以使用 R 执行相同的代码,但我想使用 reticulate。谢谢。
【问题讨论】:
-
reticulate::py_config()返回什么,是你期待的 python 目录吗?我自己遇到了一些麻烦,设法通过将 reticulate 指向不同的 python 安装来解决它:reticulate::use_python("/path/to/desired_python") -
输出是我安装它的anaconda路径(/home/alejandro/anaconda3/bin/python),无论如何我已经用
py_config指定并且错误改变了。现在它出现 Error in py_get_attr_impl(x, name, quiet) : AttributeError: module '_main_' has no attribute 'lista' ,当明确定义了 lista 时。再次感谢您。 -
你试过设置
reticulate::use_condaenv()吗? -
这对我有用,谢谢:)
标签: python r anaconda reticulate