运行Python manage.py runserver时遇No module named 'rng_base'错误求助
解决
ModuleNotFoundError: No module named 'rng_base'报错问题 这个错误是因为你的pycryptodome(或旧版pycrypto)包安装不完整、损坏,或者版本兼容问题导致的。报错文件posix.py里的导入语句用了绝对导入,而正确的应该是相对导入,所以引发了模块找不到的问题。
以下是几种可行的解决办法:
卸载并重新安装
pycryptodome(推荐用这个替代老旧的pycrypto):
先清理现有相关包:pip uninstall pycrypto pycryptodome -y再重新安装最新版:
pip install pycryptodome确认虚拟环境状态:确保你操作的是项目对应的虚拟环境(你的路径里是
venv/lib/python3.9/site-packages),别搞混全局环境和虚拟环境的包,避免冲突。手动修复导入语句:如果重装后还是不行,直接修改
posix.py里的导入行:
打开路径/Users/ahkomu/Documents/myproject/venv/lib/python3.9/site-packages/Crypto/Random/OSRNG/posix.py,把第32行的from rng_base import BaseRNG改成from .rng_base import BaseRNG(加上开头的点,变成相对导入)。
内容的提问来源于stack exchange,提问作者Fah Nateecha
相关产品推荐
相关产品推荐

