已安装boto3但Jupyter Notebook仍报ModuleNotFoundError的解决方法
解决Python 3.12 Jupyter Notebook中无法导入boto3的问题
核心原因
问题本质是boto3安装到了Python 3.8的环境,但Jupyter Notebook使用的是Python 3.12内核,两个环境相互独立。即便系统环境变量配置了Python 3.12,pip命令可能仍默认关联Python 3.8,导致包安装路径不匹配。
分步解决办法
1. 确认Jupyter内核的Python版本
先在Jupyter Notebook中执行以下代码,明确当前内核使用的Python路径:
import sys print(sys.executable)
如果输出路径指向Python 3.8(比如/usr/bin/python3.8或C:\Python38\python.exe),说明内核未关联到Python 3.12,需要调整;如果是Python 3.12路径,直接执行步骤2即可。
2. 给Python 3.12单独安装boto3
用Python 3.12对应的pip直接安装,确保包进入正确的site-packages目录:
- Linux/macOS:
python3.12 -m pip install boto3 - Windows:
py -3.12 -m pip install boto3
3. 关联Python 3.12到Jupyter内核(若步骤1显示内核不对)
如果Jupyter默认内核还是Python 3.8,需要添加Python 3.12的内核:
- 先给Python 3.12安装ipykernel:
- Linux/macOS:
python3.12 -m pip install ipykernel - Windows:
py -3.12 -m pip install ipykernel
- Linux/macOS:
- 将Python 3.12添加到Jupyter内核列表:
- Linux/macOS:
python3.12 -m ipykernel install --user --name=python3.12 - Windows:
py -3.12 -m ipykernel install --user --name=python3.12
- Linux/macOS:
- 重启Jupyter Notebook,在右上角的「内核」菜单中选择
python3.12,再尝试导入boto3。
额外清理(可选)
如果Python 3.8的boto3不再需要,可以卸载避免混淆:
- Linux/macOS:
python3.8 -m pip uninstall boto3 - Windows:
py -3.8 -m pip uninstall boto3
内容的提问来源于stack exchange,提问作者Abhimanyu Kumar
相关产品推荐
相关产品推荐

