运行 python manage.py runserver 时出错。我谷歌但没有答案可以解决我的错误请帮助。
File "/Users/ahkomu/Documents/myproject/account/models.py", line 21, in <module>
from utils.encryption import AESCipher
File "/Users/ahkomu/Documents/myproject/utils/encryption.py", line 4, in <module>
from Crypto import Random
File "/Users/ahkomu/Documents/myproject/venv/lib/python3.9/site-packages/Crypto/Random/__init__.py", line 28, in <module>
from Crypto.Random import OSRNG
File "/Users/ahkomu/Documents/myproject/venv/lib/python3.9/site-packages/Crypto/Random/OSRNG/__init__.py", line 32, in <module>
from Crypto.Random.OSRNG.posix import new
File "/Users/ahkomu/Documents/myproject/venv/lib/python3.9/site-packages/Crypto/Random/OSRNG/posix.py", line 32, in <module>
from rng_base import BaseRNG
ModuleNotFoundError: No module named 'rng_base'
了解您正在使用哪个版本的 Crypto/pycrypto 会很有帮助,但看起来 pycrypto 没有得到很好的支持:ImportError:没有名为 Crypto.Cipher 的模块
自 2020 年 3.9 发布以来,您的 Crypto 版本可能与您安装的 Python 3.9 版本不兼容。
尝试使用您的 Crypto 版本发布时存在的 python 版本创建您的 venv。
转到本地计算机中的
pycrypto
的源代码以及文件中
Random/OSRNG/posix.py
换线
from rng_base import BaseRNG
由
from Crypto.OSRNG.rng_base import BaseRNG