【问题标题】:Python Kivy: unable to import main mainPython Kivy:无法导入 main main
【发布时间】:2016-02-11 04:35:09
【问题描述】:

在阅读《使用 Python 创建 Kivy 应用程序》这本书时,它说

"Next, update the imports in weather.kv to import this main module instead of the
 ListItemButton class; see Example 3-7.
 Example 3-7. Importing a custom class from main
 #: import main main
 #: import ListAdapter kivy.adapters.listadapter.ListAdapter"

应该放在 .kv 文件中运行。但是,我收到以下错误:

   File "/home/peter-brown/kivytest.py", line 58, in <module>
     DownloadApp().run()
   File "/usr/lib/python2.7/dist-packages/kivy/app.py", line 797, in run
     self.load_kv(filename=self.kv_file)
   File "/usr/lib/python2.7/dist-packages/kivy/app.py", line 594, in load_kv
     root = Builder.load_file(rfilename)
   File "/usr/lib/python2.7/dist-packages/kivy/lang.py", line 1749, in load_file
     return self.load_string(data, **kwargs)
   File "/usr/lib/python2.7/dist-packages/kivy/lang.py", line 1796, in load_string
     parser = Parser(content=string, filename=fn)
   File "/usr/lib/python2.7/dist-packages/kivy/lang.py", line 1185, in __init__
     self.parse(content)
   File "/usr/lib/python2.7/dist-packages/kivy/lang.py", line 1284, in parse
     self.execute_directives()
   File "/usr/lib/python2.7/dist-packages/kivy/lang.py", line 1250, in execute_directives
     mod = __import__('.'.join(package.split('.')[:-1]))
 ValueError: Empty module name

TLDR:我收到一条错误消息,指出 main.py 文件是一个 emtpy 模块。 它似乎只是“主”文件,因为取出它会使应用程序顺利运行。

有人可以解释为什么会这样吗?我能做些什么来解决它?

【问题讨论】:

  • 你的文件是怎么命名的?
  • 尝试在#:import之间去掉空格。
  • @goCards,我的 .py 文件名为 Download.py,.kv 文件名为 download.kv。它是文件名的事情吗?我认为“主”文件是 kivy 的一部分。
  • 不,你必须有一个名为 main 的模块才能工作。
  • 如果你的主文件名为Download.py,你使用它们:#:import main Download

标签: python python-2.7 import kivy


【解决方案1】:

参考Kv Language docs。该导入要求 kivy 将模块 main 作为 main 导入。如果没有 main 模块,那么 kivy 会抛出异常。

【讨论】:

    【解决方案2】:

    我在做他的 4th kivy 教程中的示例时遇到了一些问题,因为我使用了不同的名称。

    因此,在您的情况下,如果您的文件是 Download.py,则该行应该是:

    #:import main Download
    

    【讨论】:

    • 我在阅读本书时发现了同样的问题(我自己的错)。谢谢你的回答。
    猜你喜欢
    • 2019-02-13
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2021-08-24
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    相关资源
    最近更新 更多