为啥我的python GUI不能用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥我的python GUI不能用?相关的知识,希望对你有一定的参考价值。

我下载了两个版本的python,分别是3.1.2和3.1.3,但是都无法运行python GUI,每次点击这个图标都没有任何反应,点击pythonw.exe也是一样没反应,求高手解答

什么GUI?你说的是python内置的开发编码工具吧?python内置了一个用Tkinter写的IDE。叫做IDLE。那个就是在GUI环境下编辑调试python code的。你可以看看是不是?还有。你说的pythonw.exe这个是用来运行你用python写的gui源码。以window模式运行。不会自动弹出python终端。如果是用python.exe运行的话就会默认的现实python终端。用来查看gui操作后的变量、函数值。还有异常等等。还有什么问题朋友你可以再补充一下。我能帮就帮。期待你的回复 参考技术A

两种可能原因,下面分别给出解决方案:

    文件被损坏或者安装不正确造成的:

    直接的GUI就打不开,或者打开闪退;

    建议重新修复一下,或者卸掉重新安装。

    设置的不正确,或者误操作:

    设置的问题:将Python的安装路径加入到环境变量中;

    误操作:就是代码中包含错误,一般是缩进问题,程序不执行,请检查代码的错误。

参考技术B 电脑需要有python的内置函数simplegui内置函数包 你电脑没有所以python不识别GUI 参考技术C 显然是两个版本都是没用的

为啥 Python 不能识别我的 utf-8 编码源文件?

【中文标题】为啥 Python 不能识别我的 utf-8 编码源文件?【英文标题】:Why doesn't Python recognize my utf-8 encoded source file?为什么 Python 不能识别我的 utf-8 编码源文件? 【发布时间】:2012-12-26 09:29:40 【问题描述】:

这是一个带有非 ASCII 字符的小 tmp.py:

if __name__ == "__main__":
    s = 'ß'
    print(s)

运行它我得到以下错误:

Traceback (most recent call last):
  File ".\tmp.py", line 3, in <module>
    print(s)
  File "C:\Python32\lib\encodings\cp866.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\xdf' in position 0: character maps to <undefined>

Python 文档says:

默认情况下,Python 源文件被视为以 UTF-8 编码...

我检查编码的方法是使用 Firefox(也许有人会提出更明显的建议)。我在 Firefox 中打开 tmp.py ,如果我选择 View->Character Encoding->Unicode (UTF-8) 它看起来不错,这就是它在这个问题上面的样子(带有 ß 符号)。

如果我说:

# -*- encoding: utf-8 -*-

作为 tmp.py 中的第一个字符串,它不会改变任何内容——错误仍然存​​在。

谁能帮我弄清楚我做错了什么?

【问题讨论】:

@Blender: u 在 Python 3 中没有任何作用(在 Python 3 的早期版本中是一个错误,直到它被添加回来以实现向后兼容性) 您在编辑器中设置编码的可能性更大。 还说编码错误..不是解码错误。由于 cp866 是 ms-dos 代码页,我认为您正在尝试将其打印到控制台,这需要编码。 @Wooble 你能向我解释一下如何确定吗?如果我使用 Firefox 技巧并选择 ISO 8859-1,我会看到 s = 'ß' 而不是 s = 'ß'。 @mezhaka:我错了,Martijn 的解释是正确的。 【参考方案1】:

terminal is using 的编码不支持该字符:

>>> '\xdf'.encode('cp866')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/encodings/cp866.py", line 12, in encode
    return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character '\xdf' in position 0: character maps to <undefined>

Python 处理得很好,是你的输出编码不能处理它。

您可以尝试在 Windows 控制台中使用chcp 65001 来切换您的代码页; chcp 是用于更改代码页的 Windows 命令行命令。

我的,在 OS X(使用 UTF-8)上可以处理得很好:

>>> print('\xdf')
ß

【讨论】:

如果他在运行程序之前执行chcp 65001,他在windows中应该没问题,假设python检测到了 @Esailija:我收到反馈说这并不总是有效。我认为字体也需要切换。 对于ß,可能不是。但也许对于更奇特的字符,默认的 windows cmd 提示字体可能不会:P 你是对的:它是终端的东西。如果我这样做 with open('tmp.txt', 'w', encoding='utf-8') as f: f.write(s) 它工作正常。您能否详细说明“尝试使用 chcp 65001”——这对我没有任何意义。 @mezhaka 你也可以修复终端,我刚刚安装了 python 3 并测试了 chcp 65001 的工作原理。在运行 python 文件之前,在终端中运行 chcp 65001

以上是关于为啥我的python GUI不能用?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的pycharm不能加pygame?

python3在pycharm中为啥导入random模块不能用? TypeError: 'module' object is not callable

为啥我不能从我的 python 脚本创建可执行文件?

为啥在这种情况下 python 不能绘制我的函数?

unity5.5 为啥我不能用VS打开脚本

为啥 Python 不能识别我的 utf-8 编码源文件?