Firebase import module fails with ModuleNotFoundError: No module named 'Crypto'
Firebase import module fails with ModuleNotFoundError: No module named 'Crypto'
我正在尝试启动我编写的脚本,该脚本应该从 firebase 数据库读取数据,但它抛出以下错误:
Traceback (most recent call last):
File "myScript.py", line 8, in <module>
from firebase import Firebase
File "/Users/georgeoprea/Library/Python/3.8/lib/python/site-packages/firebase/__init__.py", line 20, in <module>
from Crypto.PublicKey import RSA
ModuleNotFoundError: No module named 'Crypto'
我曾尝试通过以下方式安装 Crypto:
pip3 install Crypto
pip3 install pycryptodome
当我 运行 pip3 show Crypto
我得到以下输出:
Name: crypto
Version: 1.4.1
Summary: Simple symmetric GPG file encryption and decryption
Home-page: https://github.com/chrissimpkins/crypto
Author: Christopher Simpkins
Author-email: git.simpkins@gmail.com
License: MIT license
Location: /Users/georgeoprea/Library/Python/3.8/lib/python/site-packages
Requires: Naked, shellescape
Required-by:
这是我在 myScript.py
中的进口清单:
from bs4 import BeautifulSoup
import time
import smtplib
from datetime import datetime
import json
import random
from email.message import EmailMessage
from firebase import Firebase
OS 信息:macOS 12.1
运行宁 M1 Pro
。
如何让我的脚本识别 Crypto
模块?
这可能与有关。
/e:
好的,既然您使用的是 this firebase package,我希望能帮到您。
首先,不是 运行 是包的错。虽然它依赖于许多外部包,但它定义了 none 个。
这是我在干净的虚拟环境中必须做的才能做到 from firebase import Firebase
:
pip install sseclient python_jwt gcloud pycryptodome requests-toolbelt
Here 是我在干净的环境中得到的 requirements.txt。请注意,这仅用于从包中导入单个 class。仍然可能隐藏在某处的其他依赖项,等待抛出异常。
我鼓励您就此问题向开发者提供反馈。更好的是,自己解决这个问题并打开一个 Pull Request。您可能会帮助其他人解决同样的问题。
我找到了解决方法。我只是使用另一个模块从 firebase 数据库中读取。我没有使用 firebase
,而是使用 firebase documentation 中提到的 firebase_admin
。 firebase_admin
不使用 Crypto,因此从这个角度来看没有更多问题。但是我不得不稍微改变一下我检索和写入数据的方式。
我正在尝试启动我编写的脚本,该脚本应该从 firebase 数据库读取数据,但它抛出以下错误:
Traceback (most recent call last):
File "myScript.py", line 8, in <module>
from firebase import Firebase
File "/Users/georgeoprea/Library/Python/3.8/lib/python/site-packages/firebase/__init__.py", line 20, in <module>
from Crypto.PublicKey import RSA
ModuleNotFoundError: No module named 'Crypto'
我曾尝试通过以下方式安装 Crypto:
pip3 install Crypto
pip3 install pycryptodome
当我 运行 pip3 show Crypto
我得到以下输出:
Name: crypto
Version: 1.4.1
Summary: Simple symmetric GPG file encryption and decryption
Home-page: https://github.com/chrissimpkins/crypto
Author: Christopher Simpkins
Author-email: git.simpkins@gmail.com
License: MIT license
Location: /Users/georgeoprea/Library/Python/3.8/lib/python/site-packages
Requires: Naked, shellescape
Required-by:
这是我在 myScript.py
中的进口清单:
from bs4 import BeautifulSoup
import time
import smtplib
from datetime import datetime
import json
import random
from email.message import EmailMessage
from firebase import Firebase
OS 信息:macOS 12.1
运行宁 M1 Pro
。
如何让我的脚本识别 Crypto
模块?
这可能与
/e:
好的,既然您使用的是 this firebase package,我希望能帮到您。
首先,不是 运行 是包的错。虽然它依赖于许多外部包,但它定义了 none 个。
这是我在干净的虚拟环境中必须做的才能做到 from firebase import Firebase
:
pip install sseclient python_jwt gcloud pycryptodome requests-toolbelt
Here 是我在干净的环境中得到的 requirements.txt。请注意,这仅用于从包中导入单个 class。仍然可能隐藏在某处的其他依赖项,等待抛出异常。
我鼓励您就此问题向开发者提供反馈。更好的是,自己解决这个问题并打开一个 Pull Request。您可能会帮助其他人解决同样的问题。
我找到了解决方法。我只是使用另一个模块从 firebase 数据库中读取。我没有使用 firebase
,而是使用 firebase documentation 中提到的 firebase_admin
。 firebase_admin
不使用 Crypto,因此从这个角度来看没有更多问题。但是我不得不稍微改变一下我检索和写入数据的方式。