I’m looking at Django and TurboGears, two similar Python-based web frameworks, for a project at work. Simon W has been on at me for ages to look at Django, so today I had a quick poke around. However, I have an absolute abhorrence of installing random packages into my system’s Python directory. Last time I played with Django there was a lot of faffing around setting PYTHONPATH and whatnot, and it annoyed me, so I stopped doing it. However, this is what Python Eggs are all about: you can package up a library in one .egg file and then just drop that file on your python path (which includes the current directory), and the library will import fine. This means that you can package up a Python app (like, say, a Django app) with all its dependencies (like Django!) and not have to think “this will only run on a machine with Python2.4 *and* Django *and* pysqlite installed”, which is much better. The problem here is that I’d prefer to use Django, since I know the chaps who wrote it, Adrian Holovaty and Simon (and a couple of others, but I don’t know them; I’m sure the TurboGears guys are equally talented hackers, but I don’t know them either). TurboGears is available as an egg, and Django isn’t. So I’ve done a little hacking on the Django core, and filed a patch to make Django egg-able. I’m quite pleased with that. Tomorrow’s project is to actually investigate Django long enough to know whether I want to use it for this project at all.