秦通道云南即在楊林設(shè)置驛站。當(dāng)時(shí)因東門(mén)有石狀如羊,故名“羊林”。西漢元封二年(公元前109)屬益州郡昆澤縣,治所在今楊林,轄羊林、束甸、太池(今宜良)。唐貞觀二十三年(649)屬南詔國(guó)長(zhǎng)州(嵩明)。宋代大理國(guó)時(shí)期屬崧盟部。元憲宗六年(1256),置羊林千戶(hù)所、屬嵩盟萬(wàn)戶(hù)府。未幾,改設(shè)羊林縣,屬嵩盟州。至元二年(1265),因地處羊林海岸,楊柳成林,故改羊林為楊林。明成化十七年(1481),裁楊林縣,設(shè)楊林所。清康熙年間,裁所,設(shè)金馬里。民國(guó)3年(1914)嵩明州改為嵩明縣,楊林改為鎮(zhèn),今楊林鎮(zhèn)所轄南槽子一帶設(shè)置民權(quán)鄉(xiāng)。之后一度屬嵩明縣第五區(qū)。1950年7月設(shè)楊林區(qū),轄海潮、新鳳、馬營(yíng)、龍保、五叢、大樹(shù)營(yíng)、烏西、對(duì)龍8個(gè)鄉(xiāng)。1955年劃出烏西、對(duì)龍歸昆明市官渡區(qū)。1958年建立楊林公社,曾一度劃歸昆明市明良礦區(qū)管轄。1962年4月,楊林公社分成楊林、大樹(shù)、龍保三個(gè)小公社,1963年合并成立楊林區(qū),下轄1鎮(zhèn)(楊林)和13個(gè)小公社。1966年7月撤區(qū),成立楊林和新村公社。1971年2月楊林和新村公社合并為楊林公社,轄14個(gè)生產(chǎn)大隊(duì)。1984年2月,撤公社成立楊林區(qū),所轄生產(chǎn)大隊(duì)改為1鎮(zhèn)(楊林)12個(gè)鄉(xiāng)。1988年1月改楊林區(qū)為楊林鎮(zhèn)(中國(guó)政區(qū)大典:1989年置鎮(zhèn)),下設(shè)14個(gè)辦事處。1997年,面積162.7平方千米,人口5.7萬(wàn),轄楊林、張官營(yíng)、老城、馬坊、東山、羅良、大樹(shù)營(yíng)、老余屯、核桃、落水、官渡、新村、官莊、龍保14個(gè)行政村。