我的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的原始代码使用GetAltitudePysolar(PascalCase),我将其更改为get_altitudepysolar(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/

10-10 11:05