Python模块导入失败但已安装完成的问题求助
问题原因分析
- 多版本Python环境冲突:系统中同时存在Python 3.10和3.11,
pip安装模块时默认关联的Python版本,和Jupyter Notebook实际调用的解释器版本不一致,导致模块已安装但Jupyter无法识别。 - Jupyter内核与解释器绑定不匹配:Jupyter的内核是独立配置的,即使调整系统路径,内核关联的Python版本不会自动更新,因此同一Notebook内执行命令会显示不同版本。
解决方法
- 确认各环境的Python路径
- 在CMD中执行
where python和where pip,查看系统中所有Python/pip的路径,记录对应版本的位置。 - 在Jupyter Notebook中执行以下代码,获取当前内核使用的Python解释器路径:
import sys print(sys.executable)
- 在CMD中执行
- 针对性安装模块
找到Jupyter内核对应的Python版本,用该版本的pip安装模块,比如:- 若Jupyter用Python 3.11,执行
python3.11 -m pip install imblearn plotly - 或直接调用对应路径的pip:
C:\Python311\Scripts\pip.exe install imblearn plotly
避免直接使用pip install,防止关联到其他版本。
- 若Jupyter用Python 3.11,执行
- 重新配置Jupyter内核
- 为目标Python版本安装内核依赖:
python3.x -m pip install ipykernel(将3.x替换为你需要的版本,如3.11) - 添加新内核:
python3.x -m ipykernel install --user --name=py311 --display-name="Python 3.11" - 重启Jupyter Lab,在右上角的内核选择器中切换到新添加的内核运行代码。
- 为目标Python版本安装内核依赖:
- 优化系统路径(可选)
右键「此电脑」→属性→高级系统设置→环境变量,在系统变量的Path中,将常用的Python版本路径移至最上方,提升优先级;删除冗余的旧版本Python路径,减少冲突。
内容的提问来源于stack exchange,提问作者user20709674
相关产品推荐
相关产品推荐

