【问题标题】:Visual Studio Python Kivy Unknown Directive ErrorVisual Studio Python Kivy 未知指令错误
【发布时间】:2021-08-30 22:21:24
【问题描述】:

我目前正在尝试在 Visual Studio Code 中运行基本的 kivy 脚本,但每次运行 .kv 文件时,都会在终端中收到“未知指令”错误。我已经安装了 Battle Bas 的 Kivy Extension,并通过 kivy 网站在我的设备上安装了 kivy,但错误仍然存​​在。

这是我的 Python 脚本:

import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
from kivy.uix.widget import Widget

class MyGrid(Widget):
    pass


class MyApp(App):
    def build(self):
        return MyGrid()


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

这是我在 .kv 文件中的 Kivy 脚本:

#:kivy2.0.0
<MyGrid>
   Label:
       text: "Hello!"

这就是我的终端中所说的:

     raise ParserException(self, ln, 'Unknown directive')
 kivy.lang.parser.ParserException: Parser: File "c:\Users\hasan\kivy-Tutorial ver2\my.kv", line 1:
 ...
 >>    1:#:kivy2.0.0
       2:<MyGrid>
       3:    Label:
 ...
 Unknown directive

如果有人能提供帮助,我将不胜感激,因为这是我第一次使用 Stack Overflow,我真的很想用 Python 构建应用程序。谢谢!

【问题讨论】:

  • 您是否通过搜索 Internet 找到了任何 Kivy 脚本示例?它们看起来像你的吗?如果你把kivy unknown directive 放到搜索引擎中怎么样?你得到的结果可以帮助你解决问题吗?
  • @KarlKnechtel,是的,我试图找到类似的问题,但是很多人没有答案或回复(也没有帮助)所以我决定自己在 Stack Overflow 上询问,看看是否有人有我的特定问题的解决方案。根据我从研究中注意到的情况,VScode 上的 Kivy 错误是一个常见问题,但我看到的问题与我遇到的问题并不完全相符。

标签: python python-3.x visual-studio-code kivy kivy-language


【解决方案1】:

根据documentation

文件内容应始终以 Kivy 标头开头, 其中版本必须替换为您所在的 Kivy 语言版本 使用。现在,使用 1.0:

#:kivy 1.0

请注意,标头是#:kivy ,后跟一个空格,然后是字符串版本。

尝试更改您的标题:

#:kivy2.0.0

#:kivy 2.0.0

【讨论】:

  • 谢谢!!这确实有效!您帮助我发现我必须添加空间,我还发现我还必须保存文件才能正确显示输出。老实说,我把这个答案当作一个教训,即使是很小的空间也会对你的代码运行方式产生巨大的影响。谢谢!!!另外,顺便问一下,VScode 中是否有自动保护程序扩展?这会很有帮助,因为我必须始终在运行 kivy 脚本之前保存文件,以便它提供预期的输出。再次感谢您!
  • 无法帮助您使用 Visual Studio,因为我使用的是 PyCharm,每当我点击 run 时它会自动保存。
猜你喜欢
  • 2018-07-16
  • 2011-12-12
  • 1970-01-01
  • 2014-03-27
  • 1970-01-01
  • 1970-01-01
  • 2021-01-17
  • 1970-01-01
  • 2019-10-29
相关资源
最近更新 更多