在 Apple Silicon/M1 上安装 python firebase-admin 失败,grpico 失败

Install of python firebase-admin on Apple Silicon/M1 fails, grpico fails

python firebase admin SDK 未在 Apple Silicon/M1 上安装。我已尝试在此处和 Github 上的其他帖子中进行修复,但没有奏效。我不清楚他们是否为任何人工作。

安装问题

命令 pip install firebase-admin 在尝试 grpico 包的安装脚本时失败,它是 firebase 的依赖项。

我已经尝试使用 python 3.8.2、3.9.4 和 3.9.5 安装。所有版本都失败了。我已经在 venv 和全球范围内尝试过,都失败了。

我对目前情况的理解是:

  1. grpico 是 firebase-admin(版本 5.0.0)的依赖项,因此 pip install firebase-admin 将尝试安装 grpico(版本 1.38.0)
  2. grpico 仅针对 x86 编译,因此在尝试 grpico 的设置步骤时,某些东西(可能是 pip)启动了 运行 一堆 clang 命令,试图为 arm 编译一个版本。
  3. 编译的某些部分失败并吐出一个看起来很疯狂的错误。
ERROR: Command errored out with exit status 1: /Users/brown/Developer/parse-tools/env/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] ...

我的设置:

如果有人有有效的修复方法,请解释它是如何工作的。我不太喜欢在不了解它们的作用的情况下将随机命令粘贴到终端中。

成功——简单却神秘

在阅读了所有关于如何安装 grpcio 的疯狂指南后,我只需要两个步骤就可以让它工作。

  1. 设置 2 个环境变量来告诉安装脚本做一些不同的事情。 运行 在终端中执行以下命令:

export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1

export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1

这些 ENV 变量有什么作用?谁知道。根本没有人费心去解释或交流这个问题。经典。

  1. 运行pip3 install firebase-admin。这对我有用。