[Note: I apologize if this is brief... I already typed this up, and due to the OSX inconsistent handling of what signifies the "Home" and "End" keys on the Macbook Pro, I lost it all. Maybe that's a WordPress problem, maybe it's a Firefox problem, maybe it's an OSX problem, but at any rate, I'm a bit choked]
I’m a really big fan of Python’s “easy_install”. In past experience, I fell in love with Perl’s CPAN system, and when I started learning Python, I found the lack of a similar system a bit frustrating. The first time I went to install a Python module, I groaned “this is the same as the ./configure; make; make install dance I hate”. Well, easy_install solves this problem, and it solves it well. Until today, when disaster struck:
Tue Oct 21 07:15:42: ~$ easy_install pysqlite Searching for pysqlite Reading http://pypi.python.org/simple/pysqlite/ Reading http://pysqlite.org/ Reading http://initd.org/pub/software/pysqlite/releases/2.3/2.3.3/ Reading http://pysqlite.sourceforge.net/ Reading http://initd.org/pub/software/pysqlite/releases/2.3/2.3.4/ Reading http://initd.org/tracker/pysqlite/wiki/PysqliteDownloads Reading http://oss.itsystementwicklung.de/trac/pysqlite Reading http://oss.itsystementwicklung.de/download/pysqlite/2.5/2.5.0/ Reading http://initd.org/pub/software/pysqlite/releases/2.3/2.3.5/ Reading http://oss.itsystementwicklung.de/download/pysqlite/2.4/2.4.1/ Reading http://initd.org/pub/software/pysqlite/releases/2.4/2.4.0/ Best match: pysqlite 2.5.0 Downloading http://oss.itsystementwicklung.de/download/pysqlite/2.5/2.5.0/pysqlite-2.5.0.tar.gz Processing pysqlite-2.5.0.tar.gz Running pysqlite-2.5.0/setup.py -q bdist_egg --dist-dir /var/folders/ok/okFE-3eiF2axYXezW6cSJE+++TI/-Tmp-/easy_install-x5XzSp/pysqlite-2.5.0/egg-dist-tmp-sLDEoA warning: no files found matching 'doc/*.html' warning: no files found matching 'doc/code/*.py' zip_safe flag not set; analyzing archive contents... No eggs found in /var/folders/ok/okFE-3eiF2axYXezW6cSJE+++TI/-Tmp-/easy_install-x5XzSp/pysqlite-2.5.0/egg-dist-tmp-sLDEoA (setup script problem?)
This is new to me! I’ve never had it not work. Since I’m not really familiar with the intimate details about how the Python install system works, I was a bit stumped. I resigned myself to installing pysqlite from source instead… turns out that didn’t work either. It installed, but wouldn’t load… something wrong with _sqlite.so. It seems to me that OSX uses .dylib instead of .so, but a simple rename didn’t fix it either. Not really sure what that’s all about. At any rate, I decided to try fooling around a bit, and accidentally stumbled onto the answer:
Tue Oct 21 13:35:55: ~/scratch/pysqlite-2.5.0$ python ez_setup.py Setuptools version 0.6c6 or greater has been installed. (Run "ez_setup.py -U setuptools" to reinstall or upgrade.)
AHA! That’s highly suspicious!
Tue Oct 21 13:36:17: ~/scratch/pysqlite-2.5.0$ sudo python ez_setup.py -U setuptools Searching for setuptools Reading http://pypi.python.org/simple/setuptools/ Best match: setuptools 0.6c9 Processing setuptools-0.6c9-py2.5.egg setuptools 0.6c9 is already the active version in easy-install.pth Installing easy_install script to /usr/local/bin Installing easy_install-2.5 script to /usr/local/bin
Processing dependencies for setuptools Finished processing dependencies for setuptools
After doing that update, everything worked marvelously. The conclusion: if you’re trying to install pysqlite on Mac OS X 10.5 through easy_install, make sure to update your setuptools first!