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アーキテクチャにするのがありますが、めんどくさすぎます。