huge amounts of pure Python code broken by Python 2.5?

Discussion in 'Python' started by Steven Bethard, Feb 6, 2007.

  1. Jean-Paul Calderone <> wrote:
    > Huge amounts of my pure Python code was broken by Python 2.5.


    Interesting. Could you give a few illustrations of this? (I didn't run
    into the same problem at all, so I'm curious.)

    Steve
    Steven Bethard, Feb 6, 2007
    #1
    1. Advertising

  2. Steven Bethard

    Larry Bates Guest

    Steven Bethard wrote:
    > Jean-Paul Calderone <> wrote:
    >> Huge amounts of my pure Python code was broken by Python 2.5.

    >
    > Interesting. Could you give a few illustrations of this? (I didn't run
    > into the same problem at all, so I'm curious.)
    >
    > Steve



    I can't think of any of my code that got broken and it fixed a
    broken SSL problem (on Windows) that I was fighting.

    -Larry
    Larry Bates, Feb 6, 2007
    #2
    1. Advertising

  3. Steven Bethard

    John Roth Guest

    On Feb 6, 8:40 am, Steven Bethard <> wrote:
    > Jean-Paul Calderone <> wrote:
    >
    > > Huge amounts of my pure Python code was broken by Python 2.5.

    >
    > Interesting. Could you give a few illustrations of this? (I didn't run
    > into the same problem at all, so I'm curious.)
    >
    > Steve



    At a guess, the most likely thing to break code in job lots in 2.5 was
    the change in default coding from latin-1 (or whatever the
    installation has the default set to) to ascii.

    This would have a tendency to break most modules that depended on the
    default source coding. Fortunately, the fix is (not quite trivially)
    easy - just scan the library and put the right coding comment in the
    front.

    John Roth
    John Roth, Feb 6, 2007
    #3
  4. "John Roth" <> escribió en el mensaje
    news:...
    > On Feb 6, 8:40 am, Steven Bethard <> wrote:
    >> Jean-Paul Calderone <> wrote:
    >>
    >> > Huge amounts of my pure Python code was broken by Python 2.5.

    >>
    >> Interesting. Could you give a few illustrations of this? (I didn't run
    >> into the same problem at all, so I'm curious.)
    >>

    >
    > At a guess, the most likely thing to break code in job lots in 2.5 was
    > the change in default coding from latin-1 (or whatever the
    > installation has the default set to) to ascii.


    And that has given a warning since 2.3...

    --
    Gabriel Genellina
    Gabriel Genellina, Feb 6, 2007
    #4
  5. Steven Bethard

    John Nagle Guest

    Steven Bethard wrote:
    > Jean-Paul Calderone <> wrote:
    > > Huge amounts of my pure Python code was broken by Python 2.5.

    >
    > Interesting. Could you give a few illustrations of this? (I didn't run
    > into the same problem at all, so I'm curious.)
    >
    > Steve


    I'd like to know, too. I have the same code running in 2.4 and 2.5,
    and I've had the following problems:

    1. Bug [ 1651995 ] sgmllib _convert_ref UnicodeDecodeError exception,
    new in 2.5
    (a patch to sgmllib._convert_ref appears to have broken something)
    (This might be the switch from Latin-1 to ascii as default, now that
    I think about it.)

    2. MySQLdb isn't fully supported for Python 2.5 yet, and there's no tested
    Windows executable available, although there's an untested version from
    a World of Warcraft guild available.

    3. M2Crypto has versioning issues between Python, SWIG, gcc, and OpenSSL,
    and getting everything to play together can be difficult. This is
    a packaging issue; major Linux distros aren't shipping a compatible set of
    components.

    But my own pure Python code is working fine in both version of Python,
    and on both Windows and Linux.

    John Nagle
    John Nagle, Feb 6, 2007
    #5
  6. Steven Bethard

    Guest

    John> MySQLdb isn't fully supported for Python 2.5 yet, and there's no
    John> tested Windows executable available, although there's an untested
    John> version from a World of Warcraft guild available.

    As Andy Dustman has pointed out a number of times, he doesn't do Windows.
    Someone in the MySQLdb community who does use Windows is going to have to
    fill that void.

    Skip
    , Feb 6, 2007
    #6
  7. On Feb 6, 4:40 pm, Steven Bethard <> wrote:
    > Jean-Paul Calderone <> wrote:
    >
    > > Huge amounts of my pure Python code was broken by Python 2.5.

    >
    > Interesting. Could you give a few illustrations of this? (I didn't run
    > into the same problem at all, so I'm curious.)
    >
    > Steve


    I have seen breakage in Zope, due to the switch from old-style
    exceptions to new-style
    exceptions.

    Michele Simionato
    Michele Simionato, Feb 7, 2007
    #7
  8. Steven Bethard

    Robin Becker Guest

    wrote:
    > John> MySQLdb isn't fully supported for Python 2.5 yet, and there's no
    > John> tested Windows executable available, although there's an untested
    > John> version from a World of Warcraft guild available.
    >
    > As Andy Dustman has pointed out a number of times, he doesn't do Windows.
    > Someone in the MySQLdb community who does use Windows is going to have to
    > fill that void.

    .......

    well I have managed to build both extant versions (MySQL-python-1.2.1_p2 &
    MySQL-python-1.2.2b2) from source with the aid of Mr Dustman's comments in the
    site.cfg files and a very minor hack to the earlier version. I had to have the
    sources for Mysql available as well, but that probably comes with the territory.
    It seems the very latest version won't play well with earlier MySQL so I used
    MySQL-python-1.2.1_p2 as we are still using some 4.0.27 databases.

    Given that I used a particular version of MySQL, 5.0.33, to build against I'm
    not certain that my builds are useful for everyone. I copy here the differences
    I had to make to the source to get stuff to build and run against stock win32
    Python-2.5

    #############MySQL-python-1.2.1_p2
    diff -r -c MySQL-python-1.2.1_p2\_mysql.c \tmp\MySQL-python-1.2.1_p2\_mysql.c
    *** MySQL-python-1.2.1_p2\_mysql.c Wed Apr 05 18:55:44 2006
    --- \tmp\MySQL-python-1.2.1_p2\_mysql.c Fri Jan 26 14:01:49 2007
    ***************
    *** 2767,2772 ****
    --- 2767,2775 ----
    return e;
    }

    + #define QUOTE(X) _QUOTE(X)
    + #define _QUOTE(X) #X
    +
    static char _mysql___doc__[] =
    "an adaptation of the MySQL C API (mostly)\n\
    \n\
    ***************
    *** 2801,2811 ****

    if (!(dict = PyModule_GetDict(module))) goto error;
    if (PyDict_SetItemString(dict, "version_info",
    ! PyRun_String(version_info, Py_eval_input,
    dict, dict)))
    goto error;
    if (PyDict_SetItemString(dict, "__version__",
    ! PyString_FromString(__version__)))
    goto error;
    if (PyDict_SetItemString(dict, "connection",
    (PyObject *)&_mysql_ConnectionObject_Type))
    --- 2804,2814 ----

    if (!(dict = PyModule_GetDict(module))) goto error;
    if (PyDict_SetItemString(dict, "version_info",
    ! PyRun_String(QUOTE(version_info), Py_eval_input,
    dict, dict)))
    goto error;
    if (PyDict_SetItemString(dict, "__version__",
    ! PyString_FromString(QUOTE(__version__))))
    goto error;
    if (PyDict_SetItemString(dict, "connection",
    (PyObject *)&_mysql_ConnectionObject_Type))
    diff -r -c MySQL-python-1.2.1_p2\site.cfg \tmp\MySQL-python-1.2.1_p2\site.cfg
    *** MySQL-python-1.2.1_p2\site.cfg Sun Apr 02 18:16:50 2006
    --- \tmp\MySQL-python-1.2.1_p2\site.cfg Fri Jan 26 13:48:32 2007
    ***************
    *** 16,28 ****

    [compiler]
    #mysql_root: /usr/local/mysql
    ! #library_dirs: %(mysql_root)s/lib
    ! #include_dirs: %(mysql_root)s/include
    ! #libraries: mysqlclient
    ! # zlib
    ! # msvcrt
    ! # libcmt
    ! # wsock32
    ! # advapi32
    #extra_compile_args:
    ! #extra_objects:
    --- 16,28 ----

    [compiler]
    #mysql_root: /usr/local/mysql
    ! library_dirs: \tmp\mysql-5.0.33\lib_release
    ! include_dirs: \tmp\mysql-5.0.33\include
    ! libraries: mysqlclient
    ! zlib
    ! wsock32
    ! advapi32
    ! #msvcrt
    ! #libcmt
    #extra_compile_args:
    ! extra_objects: /NODEFAULTLIB:MSVCRT

    #############MySQL-python-1.2.2b2
    diff -r -c MySQL-python-1.2.2b2\site.cfg \tmp\MySQL-python-1.2.2b2\site.cfg
    *** MySQL-python-1.2.2b2\site.cfg Wed Apr 05 02:47:02 2006
    --- \tmp\MySQL-python-1.2.2b2\site.cfg Wed Jan 17 15:17:59 2007
    ***************
    *** 16,28 ****

    [compiler]
    #mysql_root: /usr/local/mysql
    ! #library_dirs: %(mysql_root)s/lib
    ! #include_dirs: %(mysql_root)s/include
    ! #libraries: mysqlclient
    ! # zlib
    ! # msvcrt
    ! # libcmt
    ! # wsock32
    ! # advapi32
    #extra_compile_args:
    ! #extra_objects:
    --- 16,28 ----

    [compiler]
    #mysql_root: /usr/local/mysql
    ! library_dirs: \tmp\mysql-5.0.33\lib_release
    ! include_dirs: \tmp\mysql-5.0.33\include
    ! libraries: mysqlclient
    ! zlib
    ! wsock32
    ! advapi32
    ! #msvcrt
    ! #libcmt
    #extra_compile_args:
    ! extra_objects: /NODEFAULTLIB:MSVCRT


    --
    Robin Becker
    Robin Becker, Feb 7, 2007
    #8
  9. Steven Bethard

    Klaas Guest

    On Feb 6, 11:07 am, Jean-Paul Calderone <> wrote:
    > On Tue, 06 Feb 2007 08:40:40 -0700, Steven Bethard <> wrote:
    > >Jean-Paul Calderone <> wrote:
    > > > Huge amounts of my pure Python code was broken by Python 2.5.

    >
    > >Interesting. Could you give a few illustrations of this? (I didn't run
    > >into the same problem at all, so I'm curious.)

    >
    > There are about half a dozen examples linked from here:
    >
    > http://twistedmatrix.com/trac/ticket/1867
    >
    > Check out the closed ticket linked from there or the changesets for more
    > detail.


    The changes listed dont' seem particularly huge considering the size,
    complexity, and boundary-pushingness of Twisted, coupled with the
    magnitude of the 2.5 release.

    -Mike
    Klaas, Feb 9, 2007
    #9
  10. Steven Bethard

    kernel1983 Guest

    On Feb 9, 10:29 am, "Klaas" <> wrote:
    > On Feb 6, 11:07 am, Jean-Paul Calderone <> wrote:
    >
    > > On Tue, 06 Feb 2007 08:40:40 -0700, Steven Bethard <> wrote:
    > > >Jean-Paul Calderone <> wrote:
    > > > > Huge amounts of my pure Python code was broken by Python 2.5.

    >
    > > >Interesting. Could you give a few illustrations of this? (I didn't run
    > > >into the same problem at all, so I'm curious.)

    >
    > > There are about half a dozen examples linked from here:

    >
    > > http://twistedmatrix.com/trac/ticket/1867

    >
    > > Check out the closed ticket linked from there or the changesets for more
    > > detail.

    >
    > The changes listed dont' seem particularly huge considering the size,
    > complexity, and boundary-pushingness of Twisted, coupled with the
    > magnitude of the 2.5 release.
    >
    > -Mike


    Just keep using python2.4
    kernel1983, Feb 9, 2007
    #10
  11. Steven Bethard

    Klaas Guest

    On Feb 8, 6:37 pm, "kernel1983" <> wrote:
    > On Feb 9, 10:29 am, "Klaas" <> wrote:


    > > The changes listed dont' seem particularly huge considering the size,
    > > complexity, and boundary-pushingness of Twisted, coupled with the
    > > magnitude of the 2.5 release.

    >
    > Just keep using python2.4


    I have converted our 100 kloc from 2.4 to 2.5. It was relatively
    painless, and 2.5 has features we couldn't live without.

    -Mike
    Klaas, Feb 9, 2007
    #11
  12. Steven Bethard

    Brian Blais Guest

    Klaas wrote:
    > I have converted our 100 kloc from 2.4 to 2.5. It was relatively
    > painless, and 2.5 has features we couldn't live without.
    >


    Just out of curiosity, what features in 2.5 can you not live without? I just
    migrated to 2.5, but haven't had much time to check out the cool new features.



    thanks,


    Brian Blais

    --
    -----------------


    http://web.bryant.edu/~bblais
    Brian Blais, Feb 10, 2007
    #12
  13. Steven Bethard

    John J. Lee Guest

    MySQLdb binaries (was Re: huge amounts of pure...)

    Robin Becker <> writes:

    > wrote:
    > > John> MySQLdb isn't fully supported for Python 2.5 yet, and there's no
    > > John> tested Windows executable available, although there's an untested
    > > John> version from a World of Warcraft guild available.
    > > As Andy Dustman has pointed out a number of times, he doesn't do
    > > Windows.
    > > Someone in the MySQLdb community who does use Windows is going to have to
    > > fill that void.

    > ......
    >
    > well I have managed to build both extant versions
    > (MySQL-python-1.2.1_p2 & MySQL-python-1.2.2b2) from source with the
    > aid of Mr Dustman's comments in the site.cfg files and a very minor
    > hack to the earlier version. I had to have the sources for Mysql
    > available as well, but that probably comes with the territory. It
    > seems the very latest version won't play well with earlier MySQL so I
    > used MySQL-python-1.2.1_p2 as we are still using some 4.0.27 databases.
    >
    > Given that I used a particular version of MySQL, 5.0.33, to build
    > against I'm not certain that my builds are useful for everyone. I copy
    > here the differences I had to make to the source to get stuff to build
    > and run against stock win32 Python-2.5

    [...]

    Robin may be right, but the resulting binaries are here (not
    supported, use at your own risk):

    http://www.reportlab.org/ftp/MySQLdb-1.1.2b2-win32-py25.zip

    or

    ftp://www.reportlab.org/MySQLdb-1.1.2b2-win32-py25.zip


    John
    John J. Lee, Feb 11, 2007
    #13
  14. Steven Bethard

    Klaas Guest

    On Feb 10, 5:59 am, Brian Blais <> wrote:
    > Klaas wrote:
    > > I have converted our 100 kloc from 2.4 to 2.5. It was relatively
    > > painless, and 2.5 has features we couldn't live without.

    >
    > Just out of curiosity, what features in 2.5 can you not live without? I just
    > migrated to 2.5, but haven't had much time to check out the cool new features.


    Most important being the finalization of generators, which allowed me
    to implement remote-rpc-yield elegantly. It would have been possible
    to do this using iterator classes, I admit.

    with statements have also been a wonderful addition -- like decorators
    for code blocks!

    -Mike
    Klaas, Feb 12, 2007
    #14
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. John A Grandy
    Replies:
    0
    Views:
    315
    John A Grandy
    Oct 16, 2003
  2. Todd Aspeotis
    Replies:
    3
    Views:
    444
    Kanenas
    May 30, 2005
  3. Bronner, Gregory
    Replies:
    13
    Views:
    607
    Martin v. Löwis
    Feb 8, 2008
  4. Replies:
    4
    Views:
    764
    Ben C
    Mar 29, 2008
  5. Replies:
    3
    Views:
    468
Loading...

Share This Page