带有Flask的Firebase Admin SDK引发错误没有名为“ firebase_admin”的模块

时间:2019-06-11 04:49:23

标签: python firebase flask firebase-admin

---问题已结束

这是我的错误,我的uWSGI启动脚本切换到了另一个virtualenv。

---原始问题

我正在尝试将Flask应用服务器中的推送通知发布到Android APP。

服务器环境(dev):

  • Mac OS Sierra
  • 烧瓶1.0.2
  • Python 3.6.5
  • firebase-admin SDK 2.17.0(最新版本)

将代码作为Flask应用程序运行以初始化SDK时,import语句会引发错误:

import firebase_admin
  

ModuleNotFoundError:没有名为“ firebase_admin”的模块

但是,在Python解释器模式下的import语句之上运行不会产生任何错误。 PyCharm还能够识别firebase_admin模块。这三种设置(Flask应用程序,解释器,PyCharm)都使用相同的virtualenv。

我尝试了一些较旧的SDK版本,但错误仍然存​​在。有任何线索吗?

---更多详细信息

该模块是使用命令pip install firebase-admin从virtualenv中的命令行安装的。

在同一virtualenv内从命令行以Flask + uWSGI应用程序运行代码时发生错误。 pip freeze显示该模块确实存在。

---问题已结束

这是我的错误,我的uWSGI启动脚本切换到了另一个virtualenv。

2 个答案:

答案 0 :(得分:0)

如何将firebase_admin软件包安装/添加到项目中?

如果您还没有明确安装/添加软件包,我只会遇到几种情况(也可能有其他情况/解决方案),这会产生错误ModuleNotFoundError: No module named 'firebase_admin'

PyCharm

如果使用PyCharm,则可以从PyCharm偏好设置中安装/添加

  • 文件>首选项>项目>项目解释器
  • 点击添加按钮,搜索firebase,选择适当的程序包:firebase-admin
  • 单击“安装软件包”按钮。

Visual Studio代码/替代安装

我使用Visual Studio Code,并选择使用保存在根目录中的firebase_admin文件将requirements.txt库安装到virtualenv中。即使您使用的是PyCharm,您仍然可以使用此方法:

1)激活您的环境

2)创建一个包含以下内容的requirements.txt文件:

firebase_admin
// other packages

3)运行pip install

pip install -r requirements.txt

4)安装后,您可以通过检查以下目录中的site-packages文件夹来确认该文件夹已经可用:

env/lib/site-packages/firebase_admin
env/lib/site-packages/firebase_admin-<version>.dist-info

5)尝试再次运行代码。

希望有帮助!

答案 1 :(得分:0)

运行此命令 pip安装firebase-admin flask