我的pysolarrobot7.py代码的这一部分抛出了一个AttributeError
def tomorrow_heading():
increment_min = 1
incrementeddatetime = 0
tomorrow_corrected = 90
if pysolar.get_altitude(maplat, maplon, datetime.datetime.utcnow()) < 0:
while pysolar.get_altitude(maplat, maplon, (datetime.datetime.utcnow() + datetime.timedelta(minutes=incrementeddatetime))) < 0:
incrementeddatetime = incrementeddatetime + increment_min
sunrise_time=(datetime.datetime.utcnow() + datetime.timedelta(minutes=incrementeddatetime))
tomorrow_heading = pysolar.GetAzimuth(maplat, maplon, sunrise_time)
if tomorrow_heading < 0:
if (tomorrow_heading >= -180):
tomorrow_corrected = ((tomorrow_heading * -1) + 180)
if (tomorrow_heading < -180):
tomorrow_corrected = ((tomorrow_heading * -1) - 180)
if tomorrow_heading >= 0:
以下是错误代码
root@Primerpi:/tools# python3 solarrobot7-core.py
Traceback (most recent call last):
File "solarrobot7-core.py", line 237, in <module>
tomorrow_static = tomorrow_heading()
File "solarrobot7-core.py", line 176, in tomorrow_heading
if pysolar.get_altitude(maplat, maplon, datetime.datetime.utcnow()) < 0:
AttributeError: 'module' object has no attribute 'get_altitude'
我一直在谷歌搜索一段时间,似乎无法找到答案。 solarrobot7.py的原始代码使用GetAltitude
和Pysolar
(PascalCase),我将其更改为get_altitude
和pysolar
(snake_case)。
答案 0 :(得分:1)
pysolar没有“get_altitude”方法: 你想要子模块“solar”:)
from pysolar import solar
solar.get_altitude #this will work :)