A first device was thrown from the stands after Gauthier Hein had given Metz a 28th-minute lead.
Portugal international Lopes, 26, received treatment and was lying on the ground when another firecracker exploded next to him.
After a 45-minute break in play the game was abandoned with Metz leading 1-0.
Lyon said Lopes had been taken to hospital for examination and the club's owner Jean-Michel Aulas described the incident as "very serious".
Players from both sides called for calm from the crowd after the second firecracker had landed near Lopes.
The Ligue de Football Professionnel (LFP), which manages league football in France, said its disciplinary committee was reviewing the incident.
Poland striker Robert Lewandowski was involved in a similar incident last month in a World Cup qualifier in Romania.
The Bayern Munich player seemed shaken but unhurt after a firecracker exploded near him in the 3-0 win for Poland.
Match abandoned due to , Metz 1, Lyon 0.
First Half ends, Metz 1, Lyon 0.
Goal!  Metz 1, Lyon 0. Gauthier Hein (Metz) left footed shot from outside the box to the bottom left corner. Assisted by Georges Mandjeck.
Attempt saved. Rachid Ghezzal (Lyon) right footed shot from the right side of the box is saved in the centre of the goal. Assisted by Jérémy Morel with a cross.
Foul by Maxwel Cornet (Lyon).
Milan Bisevac (Metz) wins a free kick in the defensive half.
Corner,  Lyon. Conceded by Renaud Cohade.
Corner,  Lyon. Conceded by Jonathan Rivierez.
Corner,  Lyon. Conceded by Thomas Didillon.
Attempt saved. Mouctar Diakhaby (Lyon) left footed shot from the right side of the six yard box is saved in the bottom right corner. Assisted by Rachid Ghezzal with a cross.
Corner,  Lyon. Conceded by Franck Signorino.
Rachid Ghezzal (Lyon) wins a free kick on the right wing.
Foul by Georges Mandjeck (Metz).
Attempt saved. Georges Mandjeck (Metz) right footed shot from the centre of the box is saved in the centre of the goal.
Foul by Maxime Gonalons (Lyon).
Renaud Cohade (Metz) wins a free kick on the right wing.
Rafael (Lyon) wins a free kick on the right wing.
Foul by Renaud Cohade (Metz).
Attempt blocked. Maxwel Cornet (Lyon) left footed shot from the left side of the box is blocked. Assisted by Jordan Ferri.
Rafael (Lyon) wins a free kick in the defensive half.
Foul by Gauthier Hein (Metz).
Attempt saved. Habib Diallo (Metz) header from the centre of the box is saved in the top centre of the goal. Assisted by Renaud Cohade with a cross.
Attempt blocked. Opa Nguette (Metz) header from the left side of the box is blocked. Assisted by Jonathan Rivierez with a cross.
Offside, Metz. Renaud Cohade tries a through ball, but Habib Diallo is caught offside.
Corner,  Lyon. Conceded by Jonathan Rivierez.
Attempt blocked. Maxwel Cornet (Lyon) left footed shot from the left side of the box is blocked. Assisted by Rachid Ghezzal.
Attempt missed. Opa Nguette (Metz) right footed shot from outside the box misses to the left. Assisted by Renaud Cohade.
Attempt missed. Renaud Cohade (Metz) right footed shot from the centre of the box is too high. Assisted by Gauthier Hein.
Corner,  Lyon. Conceded by Thomas Didillon.
Attempt saved. Rachid Ghezzal (Lyon) left footed shot from long range on the left is saved in the bottom left corner.
Maxwel Cornet (Lyon) wins a free kick on the left wing.
Foul by Georges Mandjeck (Metz).
Maxime Gonalons (Lyon) wins a free kick in the attacking half.
Foul by Habib Diallo (Metz).
First Half begins.
Lineups are announced and players are warming up.
Saturday's Ligue 1 match at Metz was abandoned after firecrackers were thrown at Lyon keeper Anthony Lopes.