Jupyter Notebook等环境导入已安装pymysql包触发ModuleNotFoundError求助
问题排查与解决方案
这类「pip提示包已安装但import抛出ModuleNotFoundError」的问题,核心触发原因几乎都是当前执行代码的Python解释器,和执行pip命令对应的Python解释器不属于同一个环境,你可以按照以下步骤排查解决:
第一步:确认环境匹配性
在当前报错的Jupyter Notebook/IPython环境中依次运行以下代码,确认路径是否一致:
- 查看当前运行代码的Python解释器路径:
import sys print(sys.executable)
- 查看当前调用的pip对应的Python环境:
!pip -V
对比两条命令输出的Python版本、路径前缀,如果不一致即可确认是环境不匹配问题。
第二步:修复方案
- 方案1(最稳妥,适配所有场景):直接用当前Python解释器绑定的pip安装依赖,将安装命令替换为:
import sys !{sys.executable} -m pip install pymysql
执行完成后再运行import语句即可正常导入。
- 方案2(适配conda环境用户):你的安装路径显示使用的是miniforge3,属于conda环境,可先运行
conda info --envs查看当前激活的环境(带*标记的为当前环境),确认与你预期使用的环境一致后,重新执行安装命令即可。 - 方案3(适配安装损坏场景):如果确认路径完全匹配仍报错,大概率是历史安装的包文件损坏,运行
!pip uninstall -y pymysql卸载后重新安装即可恢复。
内容的提问来源于stack exchange,提问作者deSelby
相关产品推荐
相关产品推荐

