Python kivy和Linux Mint的兼容性问题
我有几个用python和kivy语言编写的程序,它们都是在windows环境下编写的,工作正常。当我试图在LinuxMint中运行它们时,我得到了一个Python kivy和Linux Mint的兼容性问题,python,linux,kivy,linux-mint,Python,Linux,Kivy,Linux Mint,我有几个用python和kivy语言编写的程序,它们都是在windows环境下编写的,工作正常。当我试图在LinuxMint中运行它们时,我得到了一个“UnicodeDecodeError”。这只发生在导入kivy及其模块的程序上,而我的所有其他python程序都可以正常工作。因此,我在LinuxMint中编写了一个简单的kivy程序,以查看在Win10中编写是否有问题,但仍然会出现相同的错误。我查了一下,发现其他人也有类似的问题,但不一样,所以我找不到适合我需要的答案 我的版本是:Python
“UnicodeDecodeError”
。这只发生在导入kivy及其模块的程序上,而我的所有其他python程序都可以正常工作。因此,我在LinuxMint中编写了一个简单的kivy程序,以查看在Win10中编写是否有问题,但仍然会出现相同的错误。我查了一下,发现其他人也有类似的问题,但不一样,所以我找不到适合我需要的答案
我的版本是:Python 3.4.0 | Kivy 1.9.1 | Linux Mint 17.2肉桂64位
以下是我在Linux Mint环境中编写的程序:
from kivy.app import App
from kivy.uix.label import Label
class mylabel(App):
def build(self):
return Label(text="Linux Mint!")
if __name__ == "__main__":
mylabel().run()
下面是错误:
Traceback (most recent call last):
File "mintkivy.py", line 9, in <module>
mylabel().run()
File "/usr/lib/python3/dist-packages/kivy/app.py", line 828, in run
runTouchApp()
File "/usr/lib/python3/dist-packages/kivy/base.py", line 451, in runTouchApp
p = provider(key, args)
File "/usr/lib/python3/dist-packages/kivy/input/providers/probesysfs.py", line 155, in __new__
instance.__init__(device, args)
File "/usr/lib/python3/dist-packages/kivy/input/providers/probesysfs.py", line 192, in __init__
self.probe()
File "/usr/lib/python3/dist-packages/kivy/input/providers/probesysfs.py", line 213, in probe
device.name, device.device))
File "/usr/lib/python3/dist-packages/kivy/input/providers/probesysfs.py", line 80, in name
return read_line(path)
File "/usr/lib/python3/dist-packages/kivy/input/providers/probesysfs.py", line 145, in read_line
return f.readline().strip()
File "/usr/lib/python3.4/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 19: ordinal not in range(128)
回溯(最近一次呼叫最后一次):
文件“mintkivy.py”,第9行,在
mylabel().run()
文件“/usr/lib/python3/dist-packages/kivy/app.py”,第828行,运行中
runTouchApp()
runTouchApp中的文件“/usr/lib/python3/dist packages/kivy/base.py”,第451行
p=提供程序(键,参数)
文件“/usr/lib/python3/dist packages/kivy/input/providers/probesysfs.py”,第155行,新__
实例.\uuuu init\uuuu(设备,参数)
文件“/usr/lib/python3/dist packages/kivy/input/providers/probesysfs.py”,第192行,在__
self.probe()
probe中的文件“/usr/lib/python3/dist packages/kivy/input/providers/probesysfs.py”,第213行
设备(名称、设备、设备)
文件“/usr/lib/python3/dist packages/kivy/input/providers/probesysfs.py”,名称中的第80行
返回读取行(路径)
文件“/usr/lib/python3/dist packages/kivy/input/providers/probesysfs.py”,第145行,在read_行中
返回f.readline().strip()
文件“/usr/lib/python3.4/encodings/ascii.py”,第26行,解码
返回编解码器。ascii_解码(输入,自身错误)[0]
UnicodeDecodeError:“ascii”编解码器无法解码位置19中的字节0xc2:序号不在范围内(128)
p、 我已经在Linux中安装了kivy,在我遇到问题后,我也将它添加到PyCharm编译器中,它们都会产生相同的错误
我感谢你的帮助。谢谢。我建议升级到Mint 18并由apt安装kivy。我在py3和Mint 17.2上遇到了一些问题,这就解决了。@jligeza我会试试这个,谢谢!我建议升级到Mint 18并通过apt安装kivy。我在py3和Mint 17.2上遇到了一些问题,这就解决了问题。@jligeza我会试试这个,谢谢!