使用tkinter的Python程序在Windows 10中立即关闭

时间:2017-12-15 04:04:37

标签: 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()

我只能从IDLE运行这个python代码,如果我以任何其他方式运行它,窗口会在屏幕上闪烁并立即关闭。我试过了:

- 添加"输入"行以防止其关闭

- 从windows powershell中运行

- 使用pyinstaller

将代码编译到EXE中

现在我无法找到任何其他建议。我尝试制作一个简单的单行程序,只需要输入,并且正常工作并保持开放状态。 tkinter程序在IDLE中工作正常但不是任何其他情况。 这里发生了什么?

编辑:如果我从命令行而不是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

但是,tkinter文件位于我的计算机上的python库中,并且在python shell或IDLE中导入tkinter工作正常。

3 个答案:

答案 0 :(得分:1)

好的,我想我已经解决了这个问题!我读过Windows有时会尝试使用python 2.7打开.py文件,即使它们是用3.6编写的。我从我的电脑上卸载了python 2.7,现在该文件正常运行。

因此,对于遇到此问题的人,请尝试确保您的计算机正在打开python 3,而不是python 2。

答案 1 :(得分:0)

当我在命令提示符下运行python时,它会显示python 2.7,所以我将tkinter更改为Tkinter,程序通过导入.py文件

工作

使用cmd: enter image description here

Pyinstaller工作(通过canopy cmd提示符): enter image description here

第一行是我放入IDLE的cmd提示符

执行时填充文件夹: enter image description here

在dist中,我运行显示窗口的test.exe enter image description here

注意:我的系统命令提示符使用python 2.7,而canopy(python环境)命令提示符使用3.5和pyinstaller

答案 2 :(得分:0)

我也遇到了这个问题,据我所知,没有人能找到适当的解决方案。

我发现最好的方法是将-i放在文件名之前。例如: python -i yourfile.py

这将在命令行中启动IDLE