Here’s an excerpt from the documentation of libcollect:
Imagine that you’ve written a script that uses several libraries, some of which you’ve written and some you’ve downloaded and installed (for example PyYAML). You want to distribute the script to your friends and co-workers, who already have Python installed with all the standard library. But your script won’t run on their machines, because they have neither your personal libraries, nor PyYAML installed. So what can you do ?
* You can ask them to install PyYAML and other libraries your script uses, and send them your own libraries. This is a lengthy and inconvenient process.
* You can use a tool like py2exe to package your delivery. This has a downside, however. py2exe produces large files (several MBs) and you may not want that.
* You can painstakingly collect the libraries into a directory where your script can find them, and package the directory together with the script.
LibCollect makes the third option trivial, by doing all the dirty work for you.
libcollect really fills a need for me, and I’m much happier about easy distribution of my scripts after I’ve written it. I post it online in the hope that other people will find it useful as well.