M1 Macで、Pythonのdlopenでエラーが出た時の対処
Google apiをpythonで使おうとして、エラーが出ました。M1 Macで、Pythonを使っていると、arm64eアーキテクチャのpythonで、x86_64アーキテクチャのダイナミックライブラリを読みこうもうとして、dlopen()でエラーが出ることがあります。インストールする側でバイナリを使わずビルドすれば、ビルドに数分ほど時間はかかりますが、これを解決できました。
https://stackoverflow.com/questions/69788752/on-apple-m1-grpc-google-api-import-error
pip install --no-binary :all: grpcio --ignore-installed
pip install --no-binary :all: grpcio-tools --ignore-installed
x86_64アーキテクチャで揃えるのはめんどくさすぎる
pipでインストールしても、パッケージ提供元からarm64eのアーキテクチャのライブラリがビルドされていないと、どうにもならないようです。対処方法として、
arch -x86_64 /bin/zsh
で、アーキテクチャを指定してから、pythonをインストールして、すべてx86_64アーキテクチャにするのがありますが、めんどくさすぎます。