You could use scikit-learn to build your own recommender system if you really understand the math of the models you want to implement: scikit-learn will only provide you with low level building blocks such as a semi-scalable Singular Value Decomposition (http://scikit-learn.org/stable/modules/generated/sklearn.dec...) or penalized linear regression models or clustering algorithms such as k-means.
How to build and evaluate the performance of a useable and scalable recsys based on such building blocks is far from trivial though. It's probably even harder than implementing some of the building blocks provided by scikit-learn it-self for instance.
If had to build a recsys myself I would probably just use a fulltext engine such as ElasticSearch or Apache Solr + similarity queries (MoreLikeThis) + custom "features" + custom score functions as explained in this presentation by Trey Grainger (http://www.slideshare.net/treygrainger/building-a-real-time-...), and maybe use scikit-learn models to extract some relevant features to describe either the users or the items for improving the quality of the recommendations.
How to build and evaluate the performance of a useable and scalable recsys based on such building blocks is far from trivial though. It's probably even harder than implementing some of the building blocks provided by scikit-learn it-self for instance.
If had to build a recsys myself I would probably just use a fulltext engine such as ElasticSearch or Apache Solr + similarity queries (MoreLikeThis) + custom "features" + custom score functions as explained in this presentation by Trey Grainger (http://www.slideshare.net/treygrainger/building-a-real-time-...), and maybe use scikit-learn models to extract some relevant features to describe either the users or the items for improving the quality of the recommendations.