【问题标题】:On Apple M1, grpc/Google-Api Import Error:在 Apple M1 上,grpc/Google-Api 导入错误:
【发布时间】:2021-10-31 16:59:51
【问题描述】:

情况:

我正在尝试设置我的 SQLAlchemy 数据库并在本地运行它。我使用 google api 作为它的视觉模块,所以我可以分析图片中的文字。

目前,我不得不从 2013 年的旧 macbook 切换到带有 m1 芯片的新 2020 macbook。我尝试运行本地环境,但收到以下错误。

错误:

File "/Users/gabriel/Desktop/PROJECT_NAME/src/main.py", line 3, in <module>
    import actions
  File "/Users/gabriel/Desktop/PROJECT_NAME/src/actions.py", line 3, in <module>
    import utils
  File "/Users/gabriel/Desktop/PROJECT_NAME/src/utils.py", line 5, in <module>
    import google.cloud.vision_v1 as vision
  File "/Users/gabriel/.local/share/virtualenvs/PROJECT_NAME/lib/python3.10/site-packages/google/cloud/vision_v1/__init__.py", line 20, in <module>
    from .services.image_annotator import ImageAnnotatorClient as IacImageAnnotatorClient
  File "/Users/gabriel/.local/share/virtualenvs/PROJECT_NAME/lib/python3.10/site-packages/google/cloud/vision_v1/services/image_annotator/__init__.py", line 16, in <module>
    from .client import ImageAnnotatorClient
  File "/Users/gabriel/.local/share/virtualenvs/PROJECT_NAME/lib/python3.10/site-packages/google/cloud/vision_v1/services/image_annotator/client.py", line 25, in <module>
    from google.api_core import gapic_v1  # type: ignore
  File "/Users/gabriel/.local/share/virtualenvs/PROJECT_NAME/lib/python3.10/site-packages/google/api_core/gapic_v1/__init__.py", line 16, in <module>
    from google.api_core.gapic_v1 import config
  File "/Users/gabriel/.local/share/virtualenvs/PROJECT_NAME/lib/python3.10/site-packages/google/api_core/gapic_v1/config.py", line 23, in <module>
    import grpc
  File "/Users/gabriel/.local/share/virtualenvs/PROJECT_NAME/lib/python3.10/site-packages/grpc/__init__.py", line 22, in <module>
    from grpc import _compression
  File "/Users/gabriel/.local/share/virtualenvs/PROJECT_NAME/lib/python3.10/site-packages/grpc/_compression.py", line 15, in <module>
    from grpc._cython import cygrpc
ImportError: dlopen(/Users/gabriel/.local/share/virtualenvs/PROJECT_NAME/lib/python3.10/site-packages/grpc/_cython/cygrpc.cpython-310-darwin.so, 0x0002): tried: '/Users/gabriel/.local/share/virtualenvs/PROJECT_NAME/lib/python3.10/site-packages/grpc/_cython/cygrpc.cpython-310-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/usr/lib/cygrpc.cpython-310-darwin.so' (no such file)

假设:

我相信这确实与尝试在我的依赖项中获取通用二进制版本有关,但在这一点上,我不知道如何正确链接它们,或者我是否有正确的包。

规格:

  • 操作系统:Mac OS Monterey 12.0.1 (21A559)

  • 电脑:MacBook Pro(13 英寸,M1,2020)

  • IDE:VSCode

依赖关系:

  • Python:“3.10.0”

  • grpcio:“1.41.1”

  • sqlalchemy:“1.4.26”

尝试过的解决方案:

  • 在没有 grpcio 依赖的情况下运行,工作正常。

  • 原来在两台非m1芯片的macbook上运行数据库,没有出现这个错误。

  • 卸载并重新安装没有缓存的grpcio。

  • 删除我的本地环境并重新创建它

【问题讨论】:

标签: python google-api grpc arm64 apple-m1


【解决方案1】:

运行

pip install --no-binary :all: grpcio --ignore-installed

pip install --no-binary :all: grpcio-tools --ignore-installed

来自Github Issues

为我的 M1 工作

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 2021-04-10
  • 2022-07-19
  • 2022-12-02
  • 1970-01-01
  • 1970-01-01
  • 2022-02-09
  • 2017-09-04
  • 1970-01-01
相关资源
最近更新 更多