Python: Ошибка при запросе данных о погоде 'OWM' object has no attribute 'coindex_around_coords'
Начал изучать программирование, язык: Python.
Учусь и пытаюсь создать телеграмм бота, который бы возвращал данные о погоде в указанном пользователем городе.
Использую библиотеку PyOWM v3 для определения погоды.
В целом телеграмм бот работает и возвращает основные данные, но с некоторыми данными например, уровень углекислого газа CO index запрос написать не выходит, при запуске кода ошибка: OWM' object has no attribute 'coindex_around_coords'
Воспроизвел здесь часть кода для разбора проблемы.
from geopy.geocoders import Nominatim
from pyowm import OWM
from pyowm.utils.config import get_default_config
city = input("готод:")
owm = OWM ('API_key')
config_dict = get_default_config()
config_dict['language'] = 'ru'
mgr = owm.weather_manager()
observation = mgr.weather_at_place(city)
geolocator = Nominatim(user_agent = "name_of_your_app")
location = geolocator.geocode(city)
lat = location.latitude
lon=location.longitude
print(lat, lon)
coi = owm.coindex_around_coords(lat, lon)
print(coi)
Т.е ошибка в том что owm не содержит объект coindex_around_coords,
но при этом в документации: https://pyowm.readthedocs.io/en/latest/v3/air-pollution-api-usage-examples.html приведен такой именно пример реализации.
Или быть может нужно вызывать CO index api запросом параметра get_coi? Не могу сообразить.
Ответы (1 шт):
У них много устаревших примеров - документация похоже заброшена. Сейчас вам нужен отдельный менеджер на каждый API похоже:
from geopy.geocoders import Nominatim
from pyowm import OWM
from pyowm.utils.config import get_default_config
city = input("город:")
config_dict = get_default_config()
config_dict['language'] = 'ru'
owm = OWM('API_key', config_dict)
mgr = owm.weather_manager()
# Создаем менеджер для AirPollution
air = owm.airpollution_manager()
observation = mgr.weather_at_place(city)
geolocator = Nominatim(user_agent = "name_of_your_app")
location = geolocator.geocode(city)
lat = location.latitude
lon = location.longitude
print(lat, lon)
# И используем уже его метод
coi = air.coindex_around_coords(lat, lon)
print(coi)