My sweep for libraries finally found Python 2.4 versions for everything I cared about, so I went ahead and upgraded to Python 2.4 on my Windows machine. As much for my own reference as anyone else’s, the list of Python libraries I installed into my fresh Python 2.4 installation on my Windows XP machine:
- pysqlite 2.1.0
- wxPython 220.127.116.11 unicode
- PyOpenGL 2.0.2.01 numpy23
- py2exe 0.6.4
- pysco 1.5
- pycurl-ssl 7.13.2
- PIL 1.1.5
- pygame 1.7.1
- SpreadModule 1.5
- numpy 0.9.5
- Python WMI 1.0rc6
Update 2/25/2006: installed these libraries over the next few days since this post: - PyXML 0.8.4 - apsw 3.2.7r1 (to check it out vs pysqlite) - Numeric 24.2 (one of the wxPython demos required Numeric python instead of the more recent numpy)
Update 2/27/2006: … - egenix-mx-base 2.0.6
Update 3/5/2006: VPython - VPython 3.2.9 — I had some scripts that used this to draw some graphs
Whoof. I don’t use all of these all the time, but I use them often enough that I don’t want to have to hunt for them when it’s time to play with something or run a script I have laying about.
Some of these I also use on Linux and thus find it convenient to have them both places (pycurl, SpreadModule, pysqlite, PIL, numpy) and some of them I only use on Windows (pywin32, opengl, psyco, py2exe). So far, I haven’t wanted to use ReportLab PDF or RPy on Windows so those are only on the Linux machine. I’d probably throw them on the Windows box, too, except their installation is more complicated than “download one file and run it” and so far I haven’t missed them on Windows.
At one time Python was a one stop download for me — I didn’t use much of anything beyond what came in the box. Over the past few years, though, I’ve come to rely on more external libraries. Some of them I could easily do without (psyco, for example), but others are very handy to have ready for the one-off script or are in use in little utilities I use daily. The Win32 extensions in particular are necessary to run most of the little Windows-specific automation scripts I have. pygame plays an occasional role in some scripts I have for reviewing recently captured photos, plus it can be fun to play with. wxPython is really handy for whipping up little GUIs for things — it plus the WMI library were recently useful to make something to easily choose a configuration for a work-related Windows app. I kept having to exit it, edit the config file, and restart the app. If I did this in the wrong order, the app would overwrite my changes since it wrote out its config file on exit. Now I have a little task tray icon to let me pick a new config — it kills the app (if it’s running), munges the config file, and restarts the app (if it was running). Very handy and exactly the reason I keep my Windows Python installation well stocked with handy libraries.