使用tkinter的Python程序在Windows 10中立即关闭
有关守则:使用tkinter的Python程序在Windows 10中立即关闭,python,python-3.x,tkinter,windows-10,python-3.6,Python,Python 3.x,Tkinter,Windows 10,Python 3.6,有关守则: from tkinter import * root = Tk() test_label = Label(root, text = "Hello") test_label.pack() root.mainloop() 我只能在空闲状态下运行这个python代码,如果我以任何其他方式运行它,窗口会在屏幕上闪烁并立即关闭。我试过: -添加“输入”行以防止其关闭 -从windows powershell运行 -使用pyinstaller将代码编译成EXE 现在我找不到任何其他的建议
from tkinter import *
root = Tk()
test_label = Label(root, text = "Hello")
test_label.pack()
root.mainloop()
我只能在空闲状态下运行这个python代码,如果我以任何其他方式运行它,窗口会在屏幕上闪烁并立即关闭。我试过:
-添加“输入”行以防止其关闭
-从windows powershell运行
-使用pyinstaller将代码编译成EXE
现在我找不到任何其他的建议。我试着制作一个简单的单行程序,只要求输入,并且工作正常,保持良好的开放性。tkinter程序在空闲时工作正常,但在任何其他情况下都不能工作。
这里发生了什么事
编辑:如果从命令行而不是windows 10 powershell运行该程序,则会得到以下输出:
Traceback (most recent call last):
File "C:\Users\Cam\Desktop\CSCI Notes\Programs\test.py", line 1, in
<module>
import tkinter
ImportError: No module named tkinter
回溯(最近一次呼叫最后一次):
文件“C:\Users\Cam\Desktop\CSCI Notes\Programs\test.py”,第1行,在
进口tkinter
ImportError:没有名为tkinter的模块
但是,tkinter文件在我的计算机上的python库中,在python shell或IDLE中导入tkinter效果很好。当我在命令提示符下运行python时,它显示python 2.7,因此我将tkinter更改为
tkinter
,程序通过导入.py
文件来工作
使用cmd:
Pyinstaller可以工作(通过canopy cmd提示符):
第一行是我在IDLE的cmd提示符中输入的内容
执行时将填充文件夹:
在dist内部,我运行显示窗口的test.exe
注意:我的系统命令提示符使用Python2.7,而canopy(python环境)命令提示符使用pyinstaller的3.5好的,我想我已经解决了这个问题!我读到windows有时可以尝试用Python2.7打开.py文件,即使它们是用3.6编写的。我从计算机上卸载了Python2.7,现在文件运行正常
因此,对于有此问题的任何人,请确保您的计算机正在打开python 3,而不是python 2。我也遇到过此问题,据我所知,没有人有合适的解决方案 我发现最好的方法是在文件名前面加-I。例如: python-i yourfile.py
这将在命令行中启动空闲请不要链接到其他站点上的代码。请在问题中加上一个(例如:你的“小小的tkinter脚本”)谢谢,我很感激礼仪提示。固定的!调试此类问题的常用方法是从命令提示符下运行程序,以便可以看到可能生成的任何错误消息。您显然已经尝试过了,那么当您从shell运行它时,输出是什么?您是否尝试重新安装/更新tkinter?当我从windows powershell运行时,没有任何错误消息或其他类型的输出。python外壳闪烁了不到一秒钟并立即关闭,就像我在windows资源管理器中双击了.py文件一样。这是一个已知的问题。Windows似乎通常默认为python 2.7。这是一个可以解决的问题。您还可以尝试添加
#!python3
作为脚本中请求python3解释器的第一行。