当前位置: 首页 > 面试题库 >

在R中导入python模块

杭胜
2023-03-14
问题内容

我正在尝试使用该reticulate软件包在R中导入python模块。该模块可以在这里找到。我克隆了存储库并python setup.py install运行成功。如果打开python
shell,则可以导入debot。但是,当我尝试将其导入RStudio时,出现以下错误:

dbot=import("debot")
Error in py_module_import(module, convert = convert) : 
  ImportError: No module named debot

我在macOS Sierra版本10.12.6上并通过Anaconda安装了python 3.6。我也尝试过给出python的路径为:

path_to_python <- "/anaconda/bin/python3.6"
use_python(path_to_python)

当我从终端运行python时,我得到:

Python 3.6.1 |Anaconda 4.4.0 (x86_64)| (default, May 11 2017, 13:04:09) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

不确定python的路径是否正确。

好的,做了一些进一步的挖掘,发现它reticulate仍然指向我的旧版本python
2.7的python路径,这是Macbook的默认路径。当我跑步时py_config(),我得到的是:

python:         /usr/bin/python
libpython:      /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/libpython2.7.dylib
pythonhome:     /System/Library/Frameworks/Python.framework/Versions/2.7:/System/Library/Frameworks/Python.framework/Versions/2.7
version:        2.7.10 (default, Feb  7 2017, 00:08:15)  [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)]

无论我尝试什么,都无法reticulate使用该use_python()功能查看安装模块的正确路径。我确实认为这是一个问题reticulate。有什么想法我下一步应该做什么?


问题答案:

看完这篇文章,我终于明白了。我认为在从reticulate包中调用任何其他函数之前,必须指定要使用的python的路径。因此,我现在要遵循的顺序是:

library(reticulate)
path_to_python <- "/anaconda/bin/python"
use_python(path_to_python)


 类似资料:
  • 问题内容: 如何设置模块导入,以便每个模块都可以访问其他所有模块的对象? 我有一个中等大小的Python应用程序,在各个子目录中都有模块文件。我使用创建了将这些子目录附加到模块并导入一组模块的模块。使用该限定条件引用模块对象。然后,我使用将该模块导入其他模块。现在的代码草率,其中有几处通常是重复的。 首先,应用程序失败,因为未分配某些模块引用。单元测试时,会运行相同的代码。 其次,我担心递归模块导

  • 问题内容: 我一直在阅读有关文件的功能。据说我们在包含模块的文件夹中需要一个空文件,以便可以导入这些模块。但是,我尝试将文件夹路径添加到PYTHONPATH(Windows 7中为环境变量)。尽管此文件夹不包含文件,但我仍然可以从该文件夹导入模块。您能否解释一下在不存在的情况下如何导入这些模块? 谢谢, 最好的祝福 问题答案: 把一个文件夹变成一个包。这对于创建某种模块层次结构很有用,您可以在其中

  • 问题内容: 我试图了解关于Python(v2.7)导入机制的最佳实践。我有一个项目开始有所增长,可以说我的代码如下组织: 包名称为,在其下方,我有一个模块,其中包含该类的代码。因此,我对包,模块和类使用了相同的名称,但起初可能不太聪明。 为空,需要导入类,因此文件的一部分如下所示: 但是我后来又重新考虑了这一点,并且我认为最好在文件中包含所有导入内容。因此,我现在看起来像: 而我只需要导入: 虽然

  • 我在让sikuli python单元测试工作时遇到了麻烦,希望能得到一些帮助。我在网上到处搜索,但是没有任何有用的东西。我的python知识非常有限,我想这没有什么帮助... 我用的是win7 32,sikuli 1.0 rc3 (r905),python 2.7.3 我正在尝试通过python运行sikuli单元测试(不使用命令行,只是作为一个python脚本来运行python gui)。除了别

  • 主要内容:import 模块名 as 别名,from  模块名 import 成员名 as 别名使Python 进行编程时,有些功能没必须自己实现,可以借助 Python 现有的标准库或者其他人提供的第三方库。比如说,在前面章节中,我们使用了一些数学函数,例如余弦函数 cos()、绝对值函数 fabs() 等,它们位于 Python 标准库中的 math(或 cmath)模块中,只需要将此模块导入到当前程序,就可以直接拿来用。 前面章节中,已经看到使用 import 导入模块的语法,但实际上

  • 我需要在Python中导入一个名为array_queue的模块。我检查了一下,如果我不使用它,就会出现一个提示:“array_queue imported but unused”。但是,如果我使用它并运行该程序,则会出现以下情况: ModuleNotFounderRror:没有名为“array_queue”的模块