python - 如何在 Kivy 中正确导入 MapSource?

标签 python linux raspberry-pi kivy

我正在克隆一个使用 Kivy 快速原型(prototype)制作作为其界面的存储库。它的最后一次更新是在一年前,而最初的开发者没有对问题做出回应 - 我想我会在这里提问。

该程序使用 MapSource 库并像这样导入它:

#:import MapSource mapview.MapSource

我得到错误:

无法导入包“mapview.MapSource”

这是我第一次与 Kivy 合作。导入 MapSource 的语法是什么?

这是错误的完整输出:

Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/kivy/lang/parser.py", line 464, 
in execute_directives
mod = import('.'.join(package.split('.')[:-1]))
File "/home/pi/CoPilot/mapview/init.py", line 30, in 
from mapview.source import MapSource
File "/home/pi/CoPilot/mapview/source.py", line 8, in 
from mapview.downloader import Downloader
File "/home/pi/CoPilot/mapview/downloader.py", line 8, in 
from concurrent.futures import ThreadPoolExecutor, TimeoutError, as_completed
ImportError: No module named concurrent.futures
Traceback (most recent call last):
File "main.py", line 2077, in 
MainApp().run()
File "/usr/local/lib/python2.7/dist-packages/kivy/app.py", line 799, in run
self.load_kv(filename=self.kv_file)
File "/usr/local/lib/python2.7/dist-packages/kivy/app.py", line 596, in load_kv
root = Builder.load_file(rfilename)
File "/usr/local/lib/python2.7/dist-packages/kivy/lang/builder.py", line 301, in load_file
return self.load_string(data, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/kivy/lang/builder.py", line 350, in load_string
parser = Parser(content=string, filename=fn)
File "/usr/local/lib/python2.7/dist-packages/kivy/lang/parser.py", line 392, in init
self.parse(content)
File "/usr/local/lib/python2.7/dist-packages/kivy/lang/parser.py", line 498, in parse
self.execute_directives()
File "/usr/local/lib/python2.7/dist-packages/kivy/lang/parser.py", line 475, in execute_directives
package)
kivy.lang.parser.ParserException: Parser: File "/home/pi/CoPilot/main.kv", line 31:
...
29:#:import MDThemePicker kivymd.theme_picker.MDThemePicker
30:#:import math math

31:#:import MapSource mapview.MapSource
32:
33:#on_press: Animation(x=newposition or y=newposition).start(id) #to animate things
...
Unable to import package 'mapview.MapSource'

这是存储库的链接:

Repository for CoPilot

谢谢大家的帮助。谢谢!

最佳答案

你当然想要garden.mapview

要安装的话,可以使用garden这个kivy工具来安装kivy模块,如果已经安装了garden(安装kivy时应该是这样),应该很简单。

garden install --app mapview

(--app 不是强制性的,它只是将花放在应用程序目录中而不是在 ~/.kivy/garden 中)

如果没有,您可以pip install kivy-garden 或者您可以在您的应用程序和git clone git@github.com 中创建一个lib 目录: kivy-garden/garden.mapview.git 进入其中,因为这是该工具的作用。

关于python - 如何在 Kivy 中正确导入 MapSource?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49236212/

相关文章:

python - 如何使 Eclipse Python 调试器更可靠?

c - 段错误处理

c++ - 尝试在 Raspberry Pi 上运行交叉编译的 Qt 时出现 "Illegal instruction"(Windows)

javascript - 如何将 javascript 变量中的信息添加到 Django ModelForm 输入中?

python - 无法在 Jenkins 内部使用 pip

linux - 对字段中的 $ 值(以逗号作为千位分隔符的美国格式数字)进行排序

linux - 一种在 linux 中的应用程序之间进行通信的方法

linux - 树莓派创建一个文件权限的用户

Python/Pandas 重新采样外汇报价数据以获取报价量

java - 在 VirtualBox 中连接到 Oracle Linux 7 上的 JBoss AS 7