Do you have to be from Canada to be the Prime Minister of Canada?

Yes and No. There is no legal requirement of such, but it would be extremely hard for a person to become Prime Minister of Canada without being a long-time citizen of Canada.