【问题标题】:Unable to import google.cloud.vision via the reticulate package in R无法通过 R 中的网状包导入 google.cloud.vision
【发布时间】:2023-03-14 01:00:01
【问题描述】:

我正在使用 reticulate 包将 python 模块导入 RStudio。我能够导入 cv2、pandas、sklearn 等包,但无法导入 google.cloud.vision 包。我已经通过 pip 安装了这个包在 AWS 上的 ubuntu-trusty-14.04-amd64-server 上使用 Anaconda 4.4.0 Python 2.7 版本。Pic of the error in R-Studio Server 视觉和语言库的安装是通过

pip install --upgrade google-cloud-vision
pip install --upgrade google-cloud-language

我还可以在 python 交互式会话中导入这些模块而不会出现任何错误

>>>import google.cloud.vision
>>>import google.cloud.language

谁能告诉我我做错了什么...

Edit 1:我已经尝试使用元堂建议的方法。我已经在conda环境中安装了requests和httplib2包。我也使用了使用_python 命令将 Rstudio 指向正确的 python 环境。

use_python("/home/avadhut/miniconda2/bin/python")

cv2包安装在conda环境中并成功导入,说明RStudio使用的是正确的Python环境

即使在完成所有这些操作后,我仍会在 R Studio 控制台中获得以下回溯。

Error in py_module_import(module, convert = convert) : 
  ImportError: The requests library is not installed, please install the requests package to use the requests transport.

Detailed traceback: 
File "/home/avadhut/miniconda2/lib/python2.7/site-packages/google/cloud/vision/__init__.py", line 36, in <module>
    from google.cloud.vision.client import Client
File "/home/avadhut/miniconda2/lib/python2.7/site-packages/google/cloud/vision/client.py", line 20, in <module>
    from google.cloud.client import ClientWithProject
File "/home/avadhut/miniconda2/lib/python2.7/site-packages/google/cloud/client.py", line 25, in <module>
    import google.auth.transport.requests
File "/home/avadhut/miniconda2/lib/python2.7/site-packages/google/auth/transport/requests.py", line 30, in <module>
    caught_exc,
File "/home/avadhut/miniconda2/lib/python2.7/site-packages/six.py", line 737, in raise_from
    raise value

这是我的 RStudio IDE 的图片,其中显示了错误。 !Reticulate Package Import Error

【问题讨论】:

    标签: r python-2.7 google-api-python-client google-cloud-vision reticulate


    【解决方案1】:

    这是因为您在 RStudio 中通过 reticulate 使用的 Python 二进制文件没有安装这些包(例如 requestshttplib2 等)。

    您可以通过py_config() 了解 Python reticulate 正在使用什么。您还可以通过which python 在终端上找到您正在使用的 Python 二进制文件。

    假设您在终端上使用的 Python 二进制文件(成功导入)是:"/Users/user1/anaconda3/bin/python"。然后,您通过以下方式将特定的 Python 二进制文件用于 reticulate

    use_python("/Users/user1/anaconda3/bin/python")
    

    然后您的导入应该按预期工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-28
      • 2021-11-20
      • 2018-09-20
      • 2021-09-24
      相关资源
      最近更新 更多