Wagtail 2.14.2执行makemigrations时遇ModuleNotFoundError求助
解决Wagtail项目中
ModuleNotFoundError: wagtail.models的问题 1. 先处理全局与虚拟环境的版本冲突
全局安装的Wagtail极有可能和虚拟环境的依赖产生冲突,建议直接卸载全局版本:
pip uninstall wagtail -y
2. 修复虚拟环境内的Wagtail依赖
确保你在激活的虚拟环境内操作:
- 激活虚拟环境:
cd websites/wag/ source wag-env/bin/activate # Linux/Mac系统 # Windows系统执行:wag-env\Scripts\activate - 卸载并重新安装Wagtail,修复可能损坏的依赖:
pip uninstall wagtail -y pip install wagtail - 验证安装完整性:
执行pip show wagtail获取安装路径,进入该路径下的wagtail/models目录,确认存在__init__.py文件——这个文件是Python识别该文件夹为可导入包的关键,缺失则说明安装损坏。
3. 重新初始化项目(若上述步骤无效)
如果依赖损坏无法修复,删除现有项目重新创建:
rm -rf ready_wag wagtail start ready_wag cd ready_wag python manage.py makemigrations python manage.py migrate
关键说明
wagtail.models本身是Python包(文件夹)而非单个.py文件,正常情况下该文件夹内包含__init__.py和多个子模块。出现找不到的错误,核心原因通常是:
- 虚拟环境未正确激活,导致调用了全局环境中损坏的Wagtail
- 虚拟环境内的Wagtail安装不完整
- 项目配置存在错误导入路径(但
wagtail start生成的默认项目不会出现此问题)
内容的提问来源于stack exchange,提问作者user20059148
相关产品推荐
相关产品推荐

