472,378 Members | 1,150 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,378 software developers and data experts.

huge amounts of pure Python code broken by Python 2.5?

Jean-Paul Calderone <ex*****@divmod.comwrote:
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
Feb 6 '07 #1
13 2041
Steven Bethard wrote:
Jean-Paul Calderone <ex*****@divmod.comwrote:
>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
Feb 6 '07 #2
On Feb 6, 8:40 am, Steven Bethard <steven.beth...@gmail.comwrote:
Jean-Paul Calderone <exar...@divmod.comwrote:
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

Feb 6 '07 #3
"John Roth" <Jo*******@jhrothjr.comescribió en el mensaje
news:11*********************@k78g2000cwa.googlegro ups.com...
On Feb 6, 8:40 am, Steven Bethard <steven.beth...@gmail.comwrote:
>Jean-Paul Calderone <exar...@divmod.comwrote:
> 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
Feb 6 '07 #4
Steven Bethard wrote:
Jean-Paul Calderone <ex*****@divmod.comwrote:
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
Feb 6 '07 #5

JohnMySQLdb isn't fully supported for Python 2.5 yet, and there's no
Johntested Windows executable available, although there's an untested
Johnversion 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 '07 #6
On Feb 6, 4:40 pm, Steven Bethard <steven.beth...@gmail.comwrote:
Jean-Paul Calderone <exar...@divmod.comwrote:
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

Feb 7 '07 #7
sk**@pobox.com wrote:
JohnMySQLdb isn't fully supported for Python 2.5 yet, and there's no
Johntested Windows executable available, although there's an untested
Johnversion 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

Feb 7 '07 #8
On Feb 6, 11:07 am, Jean-Paul Calderone <exar...@divmod.comwrote:
On Tue, 06 Feb 2007 08:40:40 -0700, Steven Bethard <steven.beth...@gmail.comwrote:
Jean-Paul Calderone <exar...@divmod.comwrote:
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

Feb 9 '07 #9
On Feb 9, 10:29 am, "Klaas" <mike.kl...@gmail.comwrote:
On Feb 6, 11:07 am, Jean-Paul Calderone <exar...@divmod.comwrote:
On Tue, 06 Feb 2007 08:40:40 -0700, Steven Bethard <steven.beth...@gmail.comwrote:
>Jean-Paul Calderone <exar...@divmod.comwrote:
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

Feb 9 '07 #10
On Feb 8, 6:37 pm, "kernel1983" <kernel1...@gmail.comwrote:
On Feb 9, 10:29 am, "Klaas" <mike.kl...@gmail.comwrote:
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

Feb 9 '07 #11
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

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

bb****@bryant.edu
http://web.bryant.edu/~bblais

Feb 10 '07 #12
Robin Becker <ro***@reportlab.comwrites:
sk**@pobox.com wrote:
JohnMySQLdb isn't fully supported for Python 2.5 yet, and there's no
Johntested Windows executable available, although there's an untested
Johnversion 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...win32-py25.zip

or

ftp://www.reportlab.org/MySQLdb-1.1.2b2-win32-py25.zip
John
Feb 11 '07 #13
On Feb 10, 5:59 am, Brian Blais <bbl...@bryant.eduwrote:
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

Feb 12 '07 #14

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Matt Shomphe | last post by:
Are there any guidelines for packaging a pure python module? Specifically, say I have a set of 10 functions, all of varying behaviors (no unifying theme to bind them together into clear subsets),...
15
by: Christos TZOTZIOY Georgiou | last post by:
Has anyone built PIL (1.1.4 or 1.1.5) for Python 2.4? If yes, please let me know, since I can't test a couple of my apps using PIL with 2.4 . You can even reply by email (yes, I dare use true...
8
by: Ted Miller | last post by:
Hi folks, I'm looking at moving a large base of C++ code to .Net under tight time constraints. The code runs in mission-critical environments, and I am extremely concerned about the loader lock...
0
by: Kurt B. Kaiser | last post by:
Patch / Bug Summary ___________________ Patches : 380 open (-36) / 3658 closed (+65) / 4038 total (+29) Bugs : 965 open ( -9) / 6555 closed (+35) / 7520 total (+26) RFE : 272 open...
8
by: blaine | last post by:
Hey guys, For my Network Security class we are designing a project that will, among other things, implement a Diffie Hellman secret key exchange. The rest of the class is doing Java, while myself...
16
by: pereges | last post by:
ok so i have written a program in C where I am dealing with huge data(millions and lots of iterations involved) and for some reason the screen tends to freeze and I get no output every time I...
9
by: NvrBst | last post by:
Whats the best way to count the lines? I'm using the following code at the moment: public long GetNumberOfLines(string fileName) { int buffSize = 65536; int streamSize = 65536; long...
26
by: Alexzive | last post by:
Hello there :) , I am a python newbie and need to run following code for a task in an external simulation programm called "Abaqus" which makes use of python to access the mesh (ensamble of nodes...
2
by: Kemmylinns12 | last post by:
Blockchain technology has emerged as a transformative force in the business world, offering unprecedented opportunities for innovation and efficiency. While initially associated with cryptocurrencies...
0
by: antdb | last post by:
Ⅰ. Advantage of AntDB: hyper-convergence + streaming processing engine In the overall architecture, a new "hyper-convergence" concept was proposed, which integrated multiple engines and...
0
by: Carina712 | last post by:
Setting background colors for Excel documents can help to improve the visual appeal of the document and make it easier to read and understand. Background colors can be used to highlight important...
0
by: Rahul1995seven | last post by:
Introduction: In the realm of programming languages, Python has emerged as a powerhouse. With its simplicity, versatility, and robustness, Python has gained popularity among beginners and experts...
2
by: Ricardo de Mila | last post by:
Dear people, good afternoon... I have a form in msAccess with lots of controls and a specific routine must be triggered if the mouse_down event happens in any control. Than I need to discover what...
1
by: Johno34 | last post by:
I have this click event on my form. It speaks to a Datasheet Subform Private Sub Command260_Click() Dim r As DAO.Recordset Set r = Form_frmABCD.Form.RecordsetClone r.MoveFirst Do If...
1
by: ezappsrUS | last post by:
Hi, I wonder if someone knows where I am going wrong below. I have a continuous form and two labels where only one would be visible depending on the checkbox being checked or not. Below is the...
0
DizelArs
by: DizelArs | last post by:
Hi all) Faced with a problem, element.click() event doesn't work in Safari browser. Tried various tricks like emulating touch event through a function: let clickEvent = new Event('click', {...
0
by: F22F35 | last post by:
I am a newbie to Access (most programming for that matter). I need help in creating an Access database that keeps the history of each user in a database. For example, a user might have lesson 1 sent...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.