我正在准备一个python脚本,它将由Kodi上的callback addon运行。问题是kodi没有所有的Python模块,您无法使用pip
手动安装它们(您可以构建自己的模块插件,但这很复杂,我不想深入讨论)。因此,解决方法是导出模块并将其添加到resources文件夹中的脚本存储库中,然后在脚本中使用以下命令指定它:
import resources.themodule as themodule
我在某人的github中的某处找到了为paho.mqtt
模块做这件事的人(但是我丢失了链接,很抱歉),它成功了。现在,我尝试自己使用astral
模块(see here)来完成这项工作,但在Python2.7上运行它时,会出现错误
以下是我所做的:
src/astral
文件夹中的所有文件李>resources/astral
import resources.astral as astral
调用它import time
import datetime
import resources.astral as astral
loc = LocationInfo(name='QC', timezone='America/Toronto',
latitude= 46.829853, longitude=-71.254028)
s = sun(loc.observer, date=datetime.datetime.date(datetime.datetime.now()), tzinfo=loc.timezone)
print(s["sunset"])
(注意astral需要kodi上提供的pytz
模块)
这种方法在使用python3的windows 10机器上有效。但是,当我在我的Lubuntu、raspberry pie和kodi(都运行python2)上尝试相同的脚本时,我得到了一个错误:
bastien@DellFleur:~/Documents/smart_home$ python smart_tv/test.py
Traceback (most recent call last):
File "smart_tv/test.py", line 3, in <module>
import resources.astral as astral
File "/home/bastien/Documents/smart_home/smart_tv/resources/astral/__init__.py", line 77
def now(tzinfo: datetime.tzinfo = pytz.utc) -> datetime.datetime:
^
SyntaxError: invalid syntax
我不确定这个bug的原因,但我猜python2不喜欢使用冒号(:
)的注释
我如何才能正确地导出astral
,使它在我的kodi(python2)脚本中工作
(注意,我是python新手,这是我第一次真正尝试用这种语言做一些有用的事情)
目前没有回答
相关问题 更多 >
编程相关推荐