OrangePi + ARMBIAN -> 无法使用 pip3 安装 firebase-admin

问题描述

我正在使用安装了 Armbian (Armbian_20.11.3_Orangepilite_focal_current_5.9.14) 的 OrangePi lite。

我正在尝试使用 python 脚本访问 firebase 身份验证,但我无法使用 pip3 安装 firebase-admin。

我已经成功地使用 pip 安装了它(python 2 -> pip install firebase-admin),但我更愿意让它与 python 3 一起使用。

在运行 pip3 install firebase-admin(有或没有 sudo)时,经过一些输出后,我收到以下错误

    Installing backend dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /usr/lib/python3/dist-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-gfxw46oc/normal --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'cffi>=1.0.0'
       cwd: None
  Complete output (96 lines):
  Collecting cffi>=1.0.0
    Using cached cffi-1.14.4.tar.gz (471 kB)
  Collecting pycparser
    Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB)
  Building wheels for collected packages: cffi
    Building wheel for cffi (setup.py): started
    Building wheel for cffi (setup.py): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3 -u -c 'import sys,setuptools,tokenize; sys.argv[0] = '"'"'/tmp/pip-install-lshe5ml_/cffi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-lshe5ml_/cffi/setup.py'"'"';f=getattr(tokenize,'"'"'open'"'"',open)(__file__);code=f.read().replace('"'"'\r\n'"'"','"'"'\n'"'"');f.close();exec(compile(code,__file__,'"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-hfktjs9u
         cwd: /tmp/pip-install-lshe5ml_/cffi/
    Complete output (36 lines):
    running bdist_wheel
    running build
    running build_py
    creating build
    creating build/lib.linux-armv7l-3.8
    creating build/lib.linux-armv7l-3.8/cffi
    copying cffi/recompiler.py -> build/lib.linux-armv7l-3.8/cffi
    copying cffi/verifier.py -> build/lib.linux-armv7l-3.8/cffi
    copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.8/cffi
    copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.8/cffi
    copying cffi/__init__.py -> build/lib.linux-armv7l-3.8/cffi
    copying cffi/lock.py -> build/lib.linux-armv7l-3.8/cffi
    copying cffi/api.py -> build/lib.linux-armv7l-3.8/cffi
    copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.8/cffi
    copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.8/cffi
    copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.8/cffi
    copying cffi/cparser.py -> build/lib.linux-armv7l-3.8/cffi
    copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.8/cffi
    copying cffi/error.py -> build/lib.linux-armv7l-3.8/cffi
    copying cffi/commontypes.py -> build/lib.linux-armv7l-3.8/cffi
    copying cffi/model.py -> build/lib.linux-armv7l-3.8/cffi
    copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.8/cffi
    copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.8/cffi
    copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.8/cffi
    copying cffi/_embedding.h -> build/lib.linux-armv7l-3.8/cffi
    copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.8/cffi
    running build_ext
    building '_cffi_backend' extension
    creating build/temp.linux-armv7l-3.8
    creating build/temp.linux-armv7l-3.8/c
    arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.8 -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.8/c/_cffi_backend.o
    c/_cffi_backend.c:15:10: Fatal error: ffi.h: No such file or directory
       15 | #include <ffi.h>
          |          ^~~~~~~
    compilation terminated.
    error: command 'arm-linux-gnueabihf-gcc' Failed with exit status 1
    ----------------------------------------
    ERROR: Failed building wheel for cffi
    Running setup.py clean for cffi
  Failed to build cffi
  Installing collected packages: pycparser,cffi
      Running setup.py install for cffi: started
      Running setup.py install for cffi: finished with status 'error'
      ERROR: Command errored out with exit status 1:
       command: /usr/bin/python3 -u -c 'import sys,'"'"'exec'"'"'))' install --record /tmp/pip-record-9gsqq393/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-gfxw46oc/normal --compile --install-headers /tmp/pip-build-env-gfxw46oc/normal/include/python3.8/cffi
           cwd: /tmp/pip-install-lshe5ml_/cffi/
      Complete output (36 lines):
      running install
      running build
      running build_py
      creating build
      creating build/lib.linux-armv7l-3.8
      creating build/lib.linux-armv7l-3.8/cffi
      copying cffi/recompiler.py -> build/lib.linux-armv7l-3.8/cffi
      copying cffi/verifier.py -> build/lib.linux-armv7l-3.8/cffi
      copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.8/cffi
      copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.8/cffi
      copying cffi/__init__.py -> build/lib.linux-armv7l-3.8/cffi
      copying cffi/lock.py -> build/lib.linux-armv7l-3.8/cffi
      copying cffi/api.py -> build/lib.linux-armv7l-3.8/cffi
      copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.8/cffi
      copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.8/cffi
      copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.8/cffi
      copying cffi/cparser.py -> build/lib.linux-armv7l-3.8/cffi
      copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.8/cffi
      copying cffi/error.py -> build/lib.linux-armv7l-3.8/cffi
      copying cffi/commontypes.py -> build/lib.linux-armv7l-3.8/cffi
      copying cffi/model.py -> build/lib.linux-armv7l-3.8/cffi
      copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.8/cffi
      copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.8/cffi
      copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.8/cffi
      copying cffi/_embedding.h -> build/lib.linux-armv7l-3.8/cffi
      copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.8/cffi
      running build_ext
      building '_cffi_backend' extension
      creating build/temp.linux-armv7l-3.8
      creating build/temp.linux-armv7l-3.8/c
      arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.8 -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.8/c/_cffi_backend.o
      c/_cffi_backend.c:15:10: Fatal error: ffi.h: No such file or directory
         15 | #include <ffi.h>
            |          ^~~~~~~
      compilation terminated.
      error: command 'arm-linux-gnueabihf-gcc' Failed with exit status 1
      ----------------------------------------
  ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import sys,'"'"'exec'"'"'))' install --record /tmp/pip-record-9gsqq393/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-gfxw46oc/normal --compile --install-headers /tmp/pip-build-env-gfxw46oc/normal/include/python3.8/cffi Check the logs for full command output.
  ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 /usr/lib/python3/dist-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-gfxw46oc/normal --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'cffi>=1.0.0' Check the logs for full command output.

我创建了以下文件(名为 initialize_firebase_admin)来访问 firebase:

import firebase_admin

app = firebase_admin.initialize_app()

if __name__ == "__main__":
    print(app)

如果我用 python 2 (python initialize_firebase_admin) 运行这样的文件,它工作正常:

<firebase_admin.App object at 0xb60789b0>

但是如果我用 python 3 (python3 initialize_firebase_admin) 运行它,它就不起作用:

Traceback (most recent call last):
  File "initialize_firebase_admin.py",line 1,in <module>
    import firebase_admin
ModuleNotFoundError: No module named 'firebase_admin'

显然,这与我无法使用 pip3 安装“firebase-admin”有关,但我在任何地方都找不到解决方案。

$python3 --version
Python 3.8.5

有人可以对此有所了解吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)