На западе Перу преобладает тропический пустынный тип климата, на востоке - субэкваториальный, а в горах климат зависит от высоты местности.
У западных берегов страны проходит холодное Перуанское течение, из-за этого климат на побережье засушливый. По сути, прибрежная равнина - северное продолжение чилийской пустыни Атакама. За год здесь выпадает всего лишь от 10 до 50 мм осадков. Самое засушливое и жаркое время - период с декабря по апрель. В это время осадков может не наблюдаться вовсе. Дневная температура февраля колеблется от 26 градусов тепла на юге до 36 градусов тепла на севере. Ночью воздух охлаждается до +20 градусов на юге и +24 градусов на севере. В зимнее время (с июня по август) дневные температуры воздуха равны соответственно +19 градусам и +28 градусам, ночные - 13 градусам тепла и 17 градусам тепла.
Далее на восток в гористых местностях температура понижается. На высотах более 4000 м даже летом в ночные часы могут отмечаться заморозки. Летом средние дневные температуры в основных городах, расположенных в сьерре, - 19..21 градусов тепла, ночные - 4..6 градусов тепла. В период с июня по август днём отмечается около 16..18 градусов тепла, ночью - от -6 до -2 градусов. В Андах за год выпадает от 700 мм осадков на западных склонах до 2000 мм осадков на восточных. Сухой сезон длится здесь с апреля по октябрь.
В сельве жарко и влажно. В летнее время дневные температуры достигают 34 градусов тепла, ночные опускаются до +24 градусов. Зимой днём воздух прогревается до +30 градусов, а ночью охлаждается до 20 градусов тепла. Среднегодовое количество осадков в тропических лесах составляет 3800 мм, дождливый сезон продолжается с ноября по март.