Born in Scotland, he was the son of a builder, James Ross Weir. He was a pupil at Dollar Academy before moving with his family to London as a young man. He worked as a travelling salesman for a haberdashery company before he went into business on his own account in 1863 importing sewing machines.[1] He retired from business in about 1879/80 to pursue politics full-time.[1] Weir's brother, John Weir became the secretary of the Fife and Kinross Miners' Association.[6]
He unsuccessfully contested the Falkirk Burghs constituency in 1885, when he got a derisory vote. He was elected for Ross and Cromarty as one of five Crofters' Party MPs in 1892, transferring his allegiance to the mainstream Liberal Party in 1895.[7] He held the seat until his death.