字长公,安徽歙县人。清顺治时他上书礼部,说历书封面上不该用“依西洋新法”五字,无结果。康熙四年(1665)又上书礼部,指责汤若望的历书推算该年十二月初一日蚀的错误,汤若望因而被判罪。杨光先接任钦天监监正,复用旧历。康熙七年因推闰失实下狱,后发配充军,遇赦放归。鲁迅在《看镜有感》中评述了杨光先“劾洋人汤若望”变更历法一事。