我的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)。 最佳答案
pysolar没有“ get_altitude”方法:
您需要子模块“ solar” :)
from pysolar import solar
solar.get_altitude #this will work :)
关于python - AttributeError:“模块”对象没有属性“get_altitude”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34582018/