Mac OSX 14.2.1下Django项目启动Jupyter Notebook报错求助
解决Django shell_plus --notebook的ModuleNotFoundError问题
问题分析
你遇到的ModuleNotFoundError: No module named 'notebook.notebookapp',核心原因有两个:
- 未激活项目的虚拟环境就执行
pip install,导致依赖包被安装到全局Python环境而非项目专属的虚拟环境中 - 仅安装
jupyter包不足以提供notebook.notebookapp模块,需要单独安装notebook包
解决方案
1. 激活虚拟环境
切换到项目目录,激活你创建的虚拟环境:
cd mysite/ source env/bin/activate
激活后命令行前缀会出现(env),表示已进入虚拟环境。
2. 安装完整依赖
在激活的虚拟环境中,重新安装所需包(包含notebook):
pip install jupyter ipython django-extensions notebook
3. 确认Django配置
检查mysite/settings.py,确保django_extensions已添加到INSTALLED_APPS:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # 添加这一行 'django_extensions', ]
4. 重新运行命令
在虚拟环境中执行:
python manage.py shell_plus --notebook
额外排查点
- 每次操作项目前务必激活虚拟环境,避免全局环境和项目环境的依赖冲突
- 执行
pip list检查虚拟环境内的已安装包,确认notebook存在于列表中 - 如果问题依旧,可以删除旧虚拟环境,重新按「创建虚拟环境→激活→安装依赖」的顺序操作
内容的提问来源于stack exchange,提问作者Android
相关产品推荐
相关产品推荐

