Milan said in a statement that it has the option to gain Lopez's full rights at the end of the season, and that the forward has signed a contract through 2015.
Milan had been hoping to sign Tevez from Manchester City.
Milan vice president Adriano Galliani had several meetings with Tevez in the past month and had reportedly reached an agreement with Tevez, but a deal couldn't be reached with City.
Tevez has not played for City since he refused to warm up during a Champions League game against Bayern Munich in September.
Galliani said he came close to signing Tevez earlier Friday evening.
''We were very close with City. If at 6:30 someone had asked me who was going to come to Milan, I would have responded 'Tevez,''' Galliani told Milan's TV station. ''Anyhow we left things very nicely with City and we've gotten over the misunderstandings.''