The wounded girl, thought to be 16, was taken to a local hospital and is expected to survive. No names have been released and no motive has been given for the incident in the town of about 6,000 people, Sheriff Ronny Dodson said.
The shooter is thought to have moved to Alpine, about 200 miles southeast of El Paso, with her family about six months ago, Dodson said. The girl was found dead in a bathroom and a pistol was recovered nearby.
"It's not supposed to happen here. It has got us all in shock. This is Alpine. It is a peaceful place to live and come," Dodson said, adding, "it could have been a lot worse."
The shootings prompted an evacuation of the high school and other schools were put on lockdown. Video on local media showed students consoling each other.
After the shooting, the sheriff's office received threats from a man to bomb nearby Sul Ross State University and attack a hospital. Dodson said the threats were not related to the shooting and saw them as sick pranks that diverted resources at a time of crisis.
"Right now, we think we have some nut who in the midst of one of our most emotional times at our school started calling in these threats," Dodson said.
One federal officer responding to the shooting was shot by accident by a colleague, Dodson said, adding that person is in stable condition with injuries that are not life-threatening.
"I'm not (used) to all this craziness that is going on in Alpine," wrote Facebook user Anna Maria, whose profile lists Alpine as her residence.
The United States has long been plagued by shootings at schools and colleges, some of which have claimed dozens of lives. The deadliest mass school shooting was in 2007, when a gunman slaughtered 32 people at Virginia Tech university. In 2012, a gunman shot dead 20 children and six educators at Sandy Hook Elementary School in Newtown, Connecticut.
The deadliest attack on a U.S. high school occurred in Littleton, Colorado, in 1999, when a pair of heavily armed teenagers shot dead 12 students and a teacher at Columbine High School, wounding 20 others.