在pipenv shell中运行Django报错ModuleNotFoundError,求解决方法
解决pipenv环境下Django ModuleNotFoundError的问题
嘿,我之前也踩过这个pipenv + Django的坑!咱们一步步来排查解决:
1. 确认虚拟环境是否真的激活成功
有时候pipenv shell看起来提示符变了,但实际环境没切换到位。你可以在当前终端里跑:
pip list
看看输出里有没有Django。如果没有,说明虚拟环境没激活,或者Django没装进去。
另外,也可以用这个命令直接查看虚拟环境的Python路径:
pipenv --py
然后用这个路径来运行manage.py,比如:
/path/to/your/virtualenv/python manage.py shell
如果这样能跑通,说明是终端的shell配置问题,导致pipenv shell没正确切换环境。
2. 重新安装Django到虚拟环境
可能是第一次pipenv install django的时候出了隐性错误,比如网络问题导致安装不完整。先退出当前虚拟环境:
exit
然后重新安装:
pipenv uninstall django pipenv install django
注意看安装过程的输出,确保没有报错信息。
3. 确认当前工作目录正确
你得确保是在包含manage.py的项目根目录下运行python manage.py shell。可以用ls命令看看当前目录里有没有manage.py文件,如果没有,用cd命令切换到正确的目录。
4. 检查pipenv的Python版本匹配
有时候pipenv会自动创建一个和系统默认Python版本不同的虚拟环境,比如你系统是Python3.8,但pipenv用了Python3.10,导致你以为装了Django,实际是装在另一个版本的环境里。可以用:
pipenv --python 3.9 # 替换成你想要的、和项目兼容的版本 pipenv install django
指定版本重新创建环境并安装Django。
最后再试一次
完成上面的步骤后,重新进入虚拟环境:
pipenv shell
然后运行:
python manage.py shell
应该就能正常加载Django了!
内容的提问来源于stack exchange,提问作者Ryan Allen
相关产品推荐
相关产品推荐

