python代码在IDLE上正常运行,但双击就闪退

写的是pygame程序,在别人的电脑上能正常运行
绝对不会是加个input就好什么的!!!

打开cmd窗口,cd到py文件路径,直接输入python文件名,然后看到底有什么错追问

pygame.error: Couldn't open background.png

追答

找不到文件?我感觉是你路径没弄对

追问

图片和.py文件在一个文件夹里的,IDLE可以正常运行
应该不是环境变量什么的出了问题吧?

追答

在代码里打开图片出错的地方(具体行号错误信息里应该有),上面插入一行:

print(os.getcwd()) #看当前路径到底在哪
#或者
os.system("dir") #看是否有图片名

追问

看了下,刚才打开cmd直接输入是在user/administrator目录下,所以找不到图片。我cd到py文件所在目录再运行是可以正常运行的

追答

那就有点奇怪了。再确认下,我说的运行方式是直接输入py文件名,而不是python+文件名。
如果是,那再试试,选择py文件-右键-打开方式,浏览python安装目录下pythonw.exe。

追问

好吧,直接输入文件名是找不到pygame这个包
ModuleNotFoundError: No module named 'pygame'

追答

可以手工先确定一下你的pyganme路径在哪里,然后在python源码,import的上面,加

sys.path.append(pyganme路径) #多改路径测试几次看
#还有别的可能,你的电脑装了多个python版本,idle打开的是一个,windows py扩展名关联的
是另一个,测试方法:
print(sys.version)

追问

我python装在F盘,只装了3.6.5,环境变量加了F:\python; F:\python\Scripts;
用你的方法试了F:\python\Lib\site-packages、F:\python\Lib\site-packages\pygame、F:\python\include、F:\python\include\pygame都不行

追答

print(sys.version)显示多少

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-24
把pyw 改为py
第2个回答  2018-06-27
我也是,复制到IDLE的shell里是正常执行的,用notepad++,sublime text ,jupyter notebook 都找不出来问题,然后用IDLE打开 ,发现缩进不对,在前一行最后开始删除,一直删除到出错的行的下一行,然后重新输入,解决了。这鸟问题郁闷了我大半天, python的缩进相当的恶心啊。写在这 希望 后人能跳出坑

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网