使用django-pagedown时出现ModuleNotFoundError问题求助
解决Django项目无法找到已安装的django-pagedown模块的问题
这问题我碰到过好多次啦,核心原因就是虚拟环境和全局Python环境的隔离性——你安装django-pagedown的时候大概率没激活项目的虚拟环境,导致模块只装到了全局Python里,而你的Django项目是跑在虚拟环境里的,自然找不到这个模块。
下面是具体的解决步骤:
第一步:确认并激活虚拟环境
先看你的终端提示符,激活虚拟环境后一般会有类似(venv)的前缀。如果没激活,根据系统执行对应的激活命令:- Windows系统:
venv\Scripts\activate - macOS/Linux系统:
source venv/bin/activate
- Windows系统:
第二步:在激活的虚拟环境中重新安装django-pagedown
激活虚拟环境后,执行pip install django-pagedown,这时候模块会被安装到当前虚拟环境的Python包目录下,Django项目就能识别到了。第三步:验证安装是否成功
保持虚拟环境激活状态,运行命令:python -c "import pagedown; print(pagedown.__file__)"如果能正常打印出
pagedown模块的文件路径,说明安装没问题了。第四步:重启Django服务并测试
重启你的Django开发服务器,再尝试把pagedown添加到INSTALLED_APPS中,这时候应该就不会再抛出ModuleNotFoundError了。
额外排查点:如果激活虚拟环境后执行pip还是装到全局环境,你可以用which pip(macOS/Linux)或where pip(Windows)查看pip的路径,确保它指向虚拟环境目录下的pip(比如venv/bin/pip或venv\Scripts\pip.exe)。
内容的提问来源于stack exchange,提问作者user3172025
相关产品推荐
相关产品推荐

