The current trunk of Satchmo cannot save shop settings on Py2.5. IntegrityError is raised after the initial save.
The culprint is localsettings/models.py. Local settings are JSON'ied to the database. A special logic is used to check whether to perform INSERT of UPDATE.
On Python 2.5, this logic fails. Looks like Py2.6 internal JSON library behaves differently than the choice Django gives for Py2.5.
In very detail the settings are compared to see whether they exist and UPDATE should be performed. This comparison fails on Py2.5 because
read serialized lists are ("Visa", "Mastercard") when read but ["Visa", "Mastercard"] when written
Strings are UTF-8 when written but Unicode when read
Thus, comparison JSON'fied values fails on Python 2.5, it always tries to perform INSERT which causes IntegrityError.
(I am not sure if it was other way around)
Workaround: Use Python 2.6.