Вот кусочек кода, кривой как турецкий ятаган, но когда я его год назад увидел, он работал.
import pyowm
##...
elif 'погода' in exersize:
talk('Скажите город в котором хотите узнать погоду: ')
r = sr.Recognizer()
with sr.Microphone() as source1:
audio1 = r.listen(source1)
nameOFcity = r.recognize_google(audio1, language="ru-Ru").lower()
observation = owm.weather_at_place(nameOFcity)
w = observation.get_weather()
temp = w.get_temperature('celsius')["temp"]
talk(' В городе ' + str(nameOFcity) + ' сейчас ' + w.get_detailed_status())
talk('Температура в районе ' + str(temp) + 'градусов')
Код не мой, я его потом рефакторил-рефакторил, да недорефакторил...