Attorney David Humphrey and agent Pat Morris said the prosecutors had investigated and decided to stay the charge that was the equivalent of a misdemeanor.
Richards was charged last summer while crossing into Canada from the United States.
Canadian border officials discovered a small amount of oxycodone in Richards' vehicle. Shortly after the arrest, the Los Angeles Kings moved to terminate Richards' contract, saying he had breached terms of the contract. The NHL Players' Association filed a grievance over the termination. The league, union and team worked out an agreement to settle the case earlier this season.
Humphrey and Morris said in a joint statement that Richards was "gratified" that prosecution was not warranted and that he "is now entirely focused on his hockey career."
Richards signed a prorated $1 million deal with the Capitals early in January. He has scored one goal in 15 games for the first-place Capitals, playing mostly a defensive role on the team's fourth line.
Information from The Associated Press was used in this report.