A beta 2 release of Python 2.6 was released yesterday or so, and they are on a schedule to have a final release around the same time Django 1.0 is scheduled. Actually, slightly after, but who knows with scheduling code releases which one will actually reach 'final' first.
Right now, http://www.djangoproject.com/documentation/install/ says Django "works with any Python version 2.3 and higher". I expect that to change when Python 3.0 comes out to say something more like "works with Python 2.x where x >= 3", since I know Django will not likely work with Python 3.0 as soon as it comes out. However, I expect 2.6 will be as supported by Django 1.0 as 2.3, 2.4, and 2.5, right? And it should Just Work, since 2.6 is supposed to be backwards compatible, but you know how that goes. So today I experimented with running the Django test suite on Python 2.6b2 to see how close it is to just working. Not surprisingly, I ran into a few problems. First, there are some newly-deprecated modules like md5 and sha. Probably the test suite should be updated to try hashlib and only fall back to these others if necessary? Second theres a reappearance of a Python bug that was was present in 2.3 but gone in 2.4/2.5. I put a note in the bug ( http://bugs.python.org/issue1242657) and it's been reopened on the Python side. Third the repr of Decimal has changed to use double quotes instead of single quotes, so every test that checks for a Decimal value fails. This strikes me as a very odd (and backwards-incompatible) change to have made and I've asked about it on the Python list (users, not dev, for starters) but I'd be interested in what other people think of this change. Fourth, there are several failures where sqlite (the only backend I have for 2.6) complains about being handed 8-bit bytestrings instead of Unicode: return Database.Cursor.execute(self, query, params) ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings. This surprised me since I expected Django to be passing Unicode. But some tests, in fact, use simple bytestrings, for example: http://code.djangoproject.com/browser/django/trunk/tests/modeltests/custom_pk/models.py#L107 has: >>> emp = Employee(employee_code='jaźń') Shouldn't that be: >>> emp = Employee(employee_code=u'jaźń') ? Changing it like so makes the test succeed on 2.6b2 and has no apparent ill-effects on 2.5. But I'm a little surprised this hasn't caused a problem before, so I fear I'm missing something here? Fourth, fifth, six...there are a few more I haven't looked at in any detail yet. I thought I'd first check and make sure this is worthwhile (Django will be expecting to support 2.6 when it comes out, right?) and get some feedback on the questions I've got above. Karen --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-developers?hl=en -~----------~----~----~----~------~----~------~--~---