macOS下Jupyter导入已安装pydot报ModuleNotFoundError如何解决
问题1:Jupyter Notebook 导入pydot提示
ModuleNotFoundError: No module named 'pydot' 核心原因是pip3安装pydot的Python环境,和Jupyter Notebook当前运行的Python内核不是同一个:从你贴的pip3查询结果看,pydot被装在了Python 3.8的用户包目录下,如果Jupyter调用的是其他版本的Python,或是独立虚拟环境,就无法扫描到这个包。按以下步骤修复:
- 打开对应Jupyter Notebook,新建代码单元格执行以下代码,查看当前内核绑定的Python解释器完整路径:
import sys print(sys.executable)
- 复制输出的解释器路径,打开终端执行安装命令,格式为
<复制的解释器路径> -m pip install pydot,例如输出路径为/opt/homebrew/bin/python3时,执行命令:
/opt/homebrew/bin/python3 -m pip install pydot
- 安装完成后回到Jupyter,点击菜单栏「Kernel」-「Restart Kernel」重启内核,再重新导入pydot即可。
- 不想手动查路径的话,可直接在Jupyter代码单元格执行以下魔法命令,会自动给当前运行的内核安装对应包,不会出现环境错配问题:
%pip install pydot
问题2:终端执行
python3 myscript.py提示找不到文件 该报错由两类原因导致,按顺序排查:
- 检查文件名输入正确性:你贴的报错信息显示系统在查找
script.py文件,和你输入的myscript.py文件名不一致,大概率是敲命令时漏打了my前缀。 - 确认终端当前工作目录与脚本存放目录一致:执行命令时系统只会在终端当前所在的文件夹内查找目标脚本,如果你把脚本存在其他目录,就会触发该报错。可先执行
pwd命令查看终端当前所在路径,再执行ls命令查看当前目录下的文件列表,确认列表中存在目标脚本后,再执行运行命令。 - 如果脚本不在当前目录,可先执行
cd 脚本存放的完整文件夹路径切换到对应目录,再运行脚本;也可以直接在python3命令后拼接脚本的完整路径,例如脚本存放在桌面时直接执行python3 /Users/你的用户名/Desktop/myscript.py,无需切换目录即可运行。
内容的提问来源于stack exchange,提问作者Parker Temple
相关产品推荐
相关产品推荐

