基于Keras的MNIST手写识别脚本Spyder可运行但直接打开.py报错求助
解决Keras脚本在Spyder正常但双击.py崩溃的问题
嘿,我完全懂你现在的困扰——在Spyder里跑MNIST手写数字识别的代码顺风顺水,结果直接双击.py文件就一堆错误崩溃,太闹心了对吧?这几乎可以肯定是Python解释器不匹配的锅,咱们一步步来搞定它:
问题根源
你通过Anaconda安装的Keras和tensorflow-gpu,都是装在Anaconda专属的Python环境里的(不管是base环境还是你自己建的虚拟环境)。但双击.py文件时,系统默认调用的是你之前装的原版Python解释器,这个解释器里根本没装这些库,自然会报错找不到模块。
具体解决方案
方案一:用Anaconda Prompt手动运行脚本
这是最稳妥的方式,步骤超简单:
- 打开Anaconda Prompt(开始菜单里搜就能找到)
- 如果你用了自定义虚拟环境,先激活它:
conda activate 你的环境名称(要是用的base环境,这步直接跳过) - 切换到你的.py文件所在的文件夹,比如文件在桌面的
MNIST_project文件夹里,就输入:cd C:\Users\你的用户名\Desktop\MNIST_project - 最后运行脚本:
python 你的脚本文件名.py
这样就会用Anaconda环境里的解释器来执行,和Spyder用的是同一个,肯定能正常跑。
方案二:把.py文件默认关联到Anaconda的Python解释器
要是想以后双击就能直接运行,就把系统默认的Python关联改成Anaconda的:
- 先找到你Anaconda环境的Python.exe路径:
- base环境默认路径一般是
C:\ProgramData\Anaconda3\python.exe - 自定义虚拟环境的话,路径是
C:\ProgramData\Anaconda3\envs\你的环境名\python.exe
- base环境默认路径一般是
- 右键点击你的.py文件,选择「打开方式」→「选择其他应用」→「更多应用」→「在这台电脑上查找其他应用」
- 找到刚才的python.exe文件,选中它,然后勾选「始终使用此应用打开.py文件」,点击确定就搞定了。
方案三:给脚本加Shebang指定解释器(可选)
在你的.py文件第一行加上这么一行代码(替换成你自己的Anaconda Python路径):
#! C:\ProgramData\Anaconda3\envs\你的环境名\python.exe
这样系统运行这个脚本时,会自动调用指定的解释器,不过要注意路径必须准确,以后换环境的话得跟着改。
内容的提问来源于stack exchange,提问作者Frank Fourlas
相关产品推荐
相关产品推荐

