Python Kivy:无法导入main
在阅读《用Python创建Kivy应用程序》一书时,它说Python Kivy:无法导入main,python,python-2.7,import,kivy,Python,Python 2.7,Import,Kivy,在阅读《用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.a
"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
文件“/home/peter brown/kivytest.py”,第58行,在
DownloadApp().run()
文件“/usr/lib/python2.7/dist-packages/kivy/app.py”,第797行,运行中
self.load_-kv(文件名=self.kv_文件)
文件“/usr/lib/python2.7/dist packages/kivy/app.py”,第594行,以负载为单位
root=Builder.load\u文件(rfilename)
文件“/usr/lib/python2.7/dist packages/kivy/lang.py”,第1749行,在load_文件中
返回self.load_字符串(数据,**kwargs)
文件“/usr/lib/python2.7/dist packages/kivy/lang.py”,第1796行,装入字符串
解析器=解析器(内容=字符串,文件名=fn)
文件“/usr/lib/python2.7/dist packages/kivy/lang.py”,第1185行,在__
self.parse(内容)
文件“/usr/lib/python2.7/dist packages/kivy/lang.py”,第1284行,在parse中
self.execute_指令()
文件“/usr/lib/python2.7/dist packages/kivy/lang.py”,第1250行,在execute_指令中
mod=uuu导入_uuu('..'.join(package.split('.')[:-1]))
ValueError:模块名称为空
TLDR:我收到一个错误,说main.py文件是emtpy模块。
它似乎只是“主”文件,因为取出它会使应用程序运行平稳
有人能解释为什么会这样吗?我能做些什么来修复它呢?参考。该导入要求kivy将模块main作为main导入。如果没有主模块,则kivy将引发异常。参考。该导入要求kivy将模块main作为main导入。如果没有主模块,那么kivy将引发一个异常。我在做第四个kivy教程中的示例时遇到了一些问题,因为我使用了不同的名称 因此,在您的情况下,如果您的文件是Download.py,那么行应该是:
#:import main Download
当我在做他的第四个kivy教程中的例子时,我遇到了一些问题,因为我使用了不同的名称 因此,在您的情况下,如果您的文件是Download.py,那么行应该是:
#:import main Download
您的文件是如何命名的?请尝试在
#:
和import
@goCards之间不留空格,我的.py文件名为Download.py,.kv文件名为Download.kv。这是文件名问题吗?我以为“main”文件是kivy的一部分。不,你必须有一个名为main的模块才能工作。如果你的主文件名为Download.py,你可以使用:#:import main Download你的文件名是什么?请尝试在:
和import
@goCards之间不要留空格,我的.py文件名为Download.py,.kv文件名为Download.kv。这是文件名问题吗?我以为“main”文件是kivy的一部分。不,你必须有一个名为main的模块才能工作。如果你的主文件名为Download.py,你可以使用:#:导入main Download我在阅读本书时发现了同样的问题(我自己的错)。谢谢你的回答。我在读这本书的时候发现了同样的问题(我自己的错)。谢谢你的回答。