Hi, On Sun, Apr 14, 2013 at 8:00 PM, Aaron Meurer <[email protected]> wrote: > I haven't looked at it in a while. How easy is it to support the more > complicated things like metaclasses with a common code base? Has > anyone compiled a list of the trickiest things to support in a common > code base? Except for the things involving strings and standard > library stuff, there's a pretty good chance we are using just about > anything that would be on such a list.
I don't know about problems with metaclasses I'm afraid, the projects I have ported don't use them. I found the string / byte difference the largest problem, but the separation was useful to make the code clearer. > On the other hand, what are the chief benefits? Using 2to3 doesn't > seem to be that much work, especially now that we've got all the kinks > worked out. The main benefit is that it allows Python 3 to be a first class citizen - so that it is as easy to develop and use sympy in python 3 as it is in python 2. I suppose it might help users transition from 2 to 3 if examples were compatible between the two. > The biggest issue that I know of is that the distribution > tools are not really designed to work well with separate tarballs for > Python 2 and Python 3. We have to trick pip into doing the right thing > by uploading identical -py32 and -py33 tarballs, and there doesn't > seem to be a way to make it work at all with easy_install > (https://code.google.com/p/sympy/issues/detail?id=3511). All the > other Python 3 issues I know of are independent of whether we use 2to3 > or a unified codebase (like the inability to make Windows installers > in Python 3, see issue 1235). At the moment, as you know, you need to run 2to3 to generate a separate python3 compatible tree, and then make a python 3 source tarball from that. That means sympy has separate source tarballs for python 2 and python 3 and hence the problem with easy_install. The common source for 2 and 3 would solve that of course, but another option would be to continue to run 2to3, but from the setup.py of a common source tarball. Cheers, Matthew -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy?hl=en-US. For more options, visit https://groups.google.com/groups/opt_out.
