Jupyter Notebook出现No module named 'pymysql'报错如何解决
Jupyter Notebook pymysql 模块导入报错修复方案
优先方案:给Jupyter对应Python环境直接重装模块
这种方式比手动复制文件更稳妥,不会出现权限、版本兼容问题,操作步骤如下:
- 打开报错的Jupyter Notebook,新建cell运行以下代码,获取当前Jupyter绑定的Python解释器路径
import sys print(sys.executable)
运行后会输出类似/opt/anaconda3/bin/python的路径,这就是你Jupyter实际用的Python位置。
2. 复制上面输出的路径,替换到下方命令的对应位置,在Jupyter cell中运行:
!【你刚才输出的Python路径】 -m pip install pymysql
举个实际示例:如果第一步输出的是/opt/anaconda3/bin/python,就运行:
!/opt/anaconda3/bin/python -m pip install pymysql
- 安装完成后点击Jupyter界面的「重启内核」按钮,再重新运行导入pymysql的代码即可正常使用。
备选方案:手动复制pymysql模块到指定路径
如果上面的方法不可行,再选择手动复制的方式:
- 确认两个关键路径:
- 已安装pymysql的路径:你当前的路径为
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages - Jupyter对应Python环境的第三方包路径:在Jupyter cell中运行以下代码获取
import site print(site.getsitepackages())
在输出的列表中找到Anaconda对应的site-packages路径,格式类似/opt/anaconda3/lib/python3.x/site-packages
2. 打开电脑终端,运行复制命令,注意替换下方的目标路径为你上一步拿到的Anaconda site-packages路径:
cp -r /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pymysql* 【你的Anaconda site-packages路径】
如果运行时提示权限不足,在命令前加sudo后重新运行,输入你的设备开机密码即可:
sudo cp -r /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pymysql* 【你的Anaconda site-packages路径】
- 复制完成后重启Jupyter内核,再测试导入pymysql即可。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

