【发布时间】: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。
-
删除我的本地环境并重新创建它
【问题讨论】:
-
嗨,Gabriel,您在这里检查过吗? github.com/grpc/grpc/issues/25082
标签: python google-api grpc arm64 apple-m1