背景
使用MacBook M1跑联邦学习框架Flower时报错,ImportError: dlopen(python3.9/site-packages/grpc/_cython/cygrpc.cpython-39-darwin.so, 0x0002): symbol not found in flat namespace ‘_kCFStreamPropertySocketNativeHandle’
原因
grpcio构建问题,在M1上不匹配
解决
- 首先执行:pip uninstall grpcio
- 将环境添加到 .zshrc 文件的末尾,执行下面三行命令
- export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
- export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1
- export GRPC_PYTHON_LDFLAGS=" -framework CoreFoundation"
- 最后执行:pip install grpcio --no-binary :all: