Police told residents to stay indoors and the central government issued a terror attack warning following the incident at the Alexis de Tocqueville school.
"Eight people, including the headmaster, were injured," said Interior Ministry spokesman Pierre-Henry Brandet.
Brandet said the attacker -- a 17-year-old student attending the high school -- had been arrested. It is not thought he was known to police or the intelligence services.
Several media outlets reported the youth was armed with a rifle, two handguns and two grenades.
Brandet also said there was no confirmation of reports that a second individual had been involved in the attack and was now on the run.
The attack occurred at around 1.30 p.m. (1230GMT).
France's RAID special police unit was immediately dispatched to the school.
Prime Minister Bernard Cazeneuve and Education Minister Najat Vallaud-Belkacem are on their way to the scene.