首页 > 解决方案 > Python Kivy UnicodeEncodeError

问题描述

我是 Kivy 的新手,我正在尝试使用 Kivy 做我的第一个应用程序。但是在我的第一次尝试中我失败了,不幸的是我无法从任何地方找到任何答案。

我的代码是:

    import kivy
from kivy.app import App
from kivy.uix.label import Label



class EpicApp(App):
    def build(self):
        return Label(text="hi there")


if __name__ == "__main__":
    EpicApp().run()

我的错误很简单:

UnicodeEncodeError:“charmap”编解码器无法在位置 280 编码字符“\u0131”:字符映射到 <undefined>

我的整个错误代码是:

Traceback (most recent call last):
   File "<input>", line 1, in <module>
   File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.3\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile
     pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
   File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.3\plugins\python-ce\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
     exec(compile(contents+"\n", file, 'exec'), glob, loc)
   File "C:/Users/burak/Desktop/Stuff/python for fun/kivy basics/kivyapp.py", line 13, in <module>
     EpicApp().run()
   File "C:\Users\burak\AppData\Local\Programs\Python\Python37-32\lib\site-packages\kivy\app.py", line 829, in run
     root = self.build()
   File "C:/Users/burak/Desktop/Stuff/python for fun/kivy basics/kivyapp.py", line 9, in build
     return Label(text="hi there")
   File "kivy\_event.pyx", line 188, in kivy._event.EventDispatcher.__cinit__
   File "kivy\properties.pyx", line 447, in kivy.properties.Property.link
   File "kivy\properties.pyx", line 632, in kivy.properties.NumericProperty.init_storage
   File "kivy\properties.pyx", line 418, in kivy.properties.Property.init_storage
   File "kivy\properties.pyx", line 655, in kivy.properties.NumericProperty.convert
   File "kivy\properties.pyx", line 663, in kivy.properties.NumericProperty.parse_str
   File "kivy\properties.pyx", line 670, in kivy.properties.NumericProperty.parse_list
   File "kivy\properties.pyx", line 296, in kivy.properties.dpi2px
   File "C:\Users\burak\AppData\Local\Programs\Python\Python37-32\lib\site-packages\kivy\utils.py", line 505, in __get__
     retval = self.func(inst)
   File "C:\Users\burak\AppData\Local\Programs\Python\Python37-32\lib\site-packages\kivy\metrics.py", line 174, in dpi
     EventLoop.ensure_window()
   File "C:\Users\burak\AppData\Local\Programs\Python\Python37-32\lib\site-packages\kivy\base.py", line 123, in ensure_window
     import kivy.core.window  # NOQA
   File "C:\Program Files\JetBrains\PyCharm Community Edition 2019.3\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
     module = self._system_import(name, *args, **kwargs)
   File "C:\Users\burak\AppData\Local\Programs\Python\Python37-32\lib\site-packages\kivy\core\window\__init__.py", line 2068, in <module>
     Window = core_select_lib('window', window_impl, True)
   File "C:\Users\burak\AppData\Local\Programs\Python\Python37-32\lib\site-packages\kivy\core\__init__.py", line 103, in core_select_lib
     'identify potential causes\n{1}'.format(category.capitalize(), err))
   File "C:\Users\burak\AppData\Local\Programs\Python\Python37-32\lib\logging\__init__.py", line 1425, in critical
     self._log(CRITICAL, msg, args, **kwargs)
   File "C:\Users\burak\AppData\Local\Programs\Python\Python37-32\lib\logging\__init__.py", line 1514, in _log
     self.handle(record)
   File "C:\Users\burak\AppData\Local\Programs\Python\Python37-32\lib\logging\__init__.py", line 1524, in handle
     self.callHandlers(record)
   File "C:\Users\burak\AppData\Local\Programs\Python\Python37-32\lib\logging\__init__.py", line 1586, in callHandlers
     hdlr.handle(record)
   File "C:\Users\burak\AppData\Local\Programs\Python\Python37-32\lib\logging\__init__.py", line 894, in handle
     self.emit(record)
   File "C:\Users\burak\AppData\Local\Programs\Python\Python37-32\lib\site-packages\kivy\logger.py", line 247, in emit
     self._write_message(message)
   File "C:\Users\burak\AppData\Local\Programs\Python\Python37-32\lib\site-packages\kivy\logger.py", line 218, in _write_message
     stream.write(fs % msg)
   File "C:\Users\burak\AppData\Local\Programs\Python\Python37-32\lib\encodings\cp1252.py", line 19, in encode
     return codecs.charmap_encode(input,self.errors,encoding_table)[0]
 UnicodeEncodeError: 'charmap' codec can't encode character '\u0131' in position 280: character maps to <undefined>

编辑:当我尝试从 cmd 打开文件时出现此错误。(通常我使用的是 PyCharm)

[ERROR  ] [Clock       ] Unable to import kivy._clock. Have you perhaps forgotten to compile kivy? Kivy contains Cython code which needs to be compiled. A missing kivy._clock often indicates the Cython code has not been compiled. Please follow the installation instructions and make sure to compile Kivy  Traceback (most recent call last):    File "kivyapp.py", line 2, in <module>
     from kivy.app import App    File "C:\Users\burak\AppData\Roaming\Python\Python37\site-packages\kivy\app.py", line 319, in <module>
     from kivy.base import runTouchApp, stopTouchApp    File "C:\Users\burak\AppData\Roaming\Python\Python37\site-packages\kivy\base.py", line 26, in <module>
     from kivy.clock import Clock    File "C:\Users\burak\AppData\Roaming\Python\Python37\site-packages\kivy\clock.py", line 363, in <module>
     from kivy._clock import CyClockBase, ClockEvent, FreeClockEvent, \  ModuleNotFoundError: No module named 'kivy._clock'

标签: pythonpython-3.xkivy

解决方案


推荐阅读