【问题标题】:NULL problem while using reticulate package in R/Python在 R/Python 中使用网状包时出现 NULL 问题
【发布时间】: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


【解决方案1】:

可以像 djfinnoy 在 cmets 中所说的那样使用 reticulate::use_condaenv() 来解决问题并使用 conda 环境。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-25
    • 2021-02-01
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    相关资源
    最近更新 更多