【发布时间】: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