I don't think there are any sites that don't offer a free facility, ie: play money.
Some sites (eg Everest) let you practise against bots also.
Play money is play money: remember this. If you lose it, you don't lose any money. Don't let this make you develop a style where you dont care about losses (it creeps into your game).
Try the 'Chris Ferguson' challenge. Make ten grand from nothing. Join a site. Don't deposit. Play the 'new player' freerolls. Make some money. Grow it up gradually.
Or else...just play with some money the site gives you. Eg. Victor Chandler just gives you a tenner just to sign up. Search 'Chandler freecash poker'.
Practise a LOT before playing online for money. And read read read. Pokertips.org is good. The best value learning material is to go on ebay and buy as many old 'poker player' mags as you can. Better than books.
good luck.