Я на питоне 3.6.5 на win8. Я следую этому (https://kivy.org/docs/tutorials/pong.html) учебнику. Это ситуация:
У меня есть main.py :
from kivy.app import App
from kivy.uix.widget import Widget
class PongGame(Widget):
pass
class PongApp(App):
def build(self):
return PongGame()
if __name__ == '__main__':
PongApp().run()
и pong.kv :
#:kivy 1.10.1
<PongGame>:
canvas:
Rectangle:
pos: self.center_x - 5, 0
size: 10, self.height
Label:
font_size: 70
center_x: root.width / 4
top: root.top - 50
text: "0"
Label:
font_size: 70
center_x: root.width * 3 / 4
top: root.top - 50
text: "0"
Когда я открываю main.py, я получаю следующую ошибку:
[INFO ] [Logger ] Record log in C:\Users\Lorenzo\.kivy\logs\kivy_18-07-05_3.txt
[INFO ] [Kivy ] v1.10.0
[INFO ] [Python ] v3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSCv.1900 64 bit (AMD64)]
[INFO ] [Factory ] 194 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_gif (img_pil, img_ffpyplayer ignored)
Traceback (most recent call last):
File "main.py", line 15, in <module>
PongApp().run()
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\kivy\app.py", line 801, in run
self.load_kv(filename=self.kv_file)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\kivy\app.py", line 598, in load_kv
root = Builder.load_file(rfilename)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\kivy\lang\builder.py", line 301, in load_file
return self.load_string(data, **kwargs)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\kivy\lang\builder.py", line 350, in load_string
parser = Parser(content=string, filename=fn)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\kivy\lang\parser.py", line 392, in __init__
self.parse(content)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\kivy\lang\parser.py", line 501, in parse
objects, remaining_lines = self.parse_level(0, lines)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\kivy\lang\parser.py", line 575, in parse_level
'Invalid data after declaration')
kivy.lang.parser.ParserException: Parser: File "C:\Users\Lorenzo\Documents\app-kivy\pong.kv", line 1:
...
1:#:kivy 1.10.1
2:
3:PongGame:
...
Invalid data after declaration
Я не нашел решений в стеке и нигде.
Не могли бы вы мне помочь?
РЕДАКТИРОВАТЬ: Я решил. Проблема была в кодировке utf8 [Вы можете видеть это здесь: "(...) 1: ï" ¿#: kivy 1.10.1 (...) "]. Поэтому я сохранил свой файл kv, используя кодировку ANSI, и он работает