[Pythonmac-SIG] Which version to use??

Rodney Somerstein rodneys at io.com
Tue May 25 23:15:18 CEST 2010


At 10:08 PM +0200 5/25/10, Ronald Oussoren wrote:
>Python 3.1.2 works fine on OSX. There is an issue with building 
>extensions on OSX 10.6, but that will be fixed in 3.1.3.
>
>PyObjC in the repository works with python 3 and I'm working towards 
>a release. I haven't looked into py2app yet. With some luck it will 
>work without major changes.

Good to hear. Thanks for the hard work on PyObjC. Do you have 
specific plans to look into py2app for Python 3?

>  > The Mac Python community seems pretty small. Given that Python 
>seems to position itself as a major programming and scripting 
>language, it seems rather strange that there is so little effort 
>placed into providing first class support for the second most 
>popular computing platform. I know that various individuals on this 
>list put a tremendous amount of work into porting and supporting 
>various parts of Python on the Mac platform. But what is the overall 
>state of Python here? Especially in regards to Python 3, which seems 
>to definitely be the future of the language.
>
>Porting to py3k is an issue throughout the python community, mostly 
>because cleanly porting non-trivial projects takes time. What hasn't 
>helped is that a lot of project depend on setuptools and that didn't 
>supported until pretty recently (and that only through the 
>'distribute' fork).
>
>As far as PyObjC is concerned port to py3k was a lot of work due to 
>C-API changes and because PyObjC tries to provide seemless 
>integration between Python and Cocoa, which means it is pretty 
>sensitive to the large changes between python 2.x and 3.x.
>

It's great to see dedicated people such as yourself continuing this 
kind of work. Hopefully things will start to fall into place for 
Python 3.x. I see questions on comp.lang.python and elsewhere from 
people wanting to use Python 3.x as their main development language. 
I think many people, such as myself, are reluctant to jump into 
Python right now. My perception is that 2.x has a limited life span. 
It seems not to be the best choice to jump into that right now when 
the 3.x branch of the language itself is where most work seems to be 
going on. However, as you noted, many packages aren't trivial to port 
and that seems to be going very slowly.

Are you planning on focusing on 3.x from this point forward with only 
maintenance on the 2.x version of PyObjC?

How far away is Python 3 from being the main branch of the language? 
Are we talking another year? 2? 5?

>  > I have looked at moving into Python several times over the years, 
>but it always seems to be a second class language when it comes to 
>producing programs to run on the Mac. At least outside of various 
>command line tools. Is Python moving toward parity with the Windows 
>and Unix world on the Macintosh?
>
>What do you mean?  Python on OSX is support as well as it is on 
>Linux and Windows.

I'm not trying to denigrate the hard work that you and others put 
into keeping Python functioning well on the Mac. In part, due to the 
fact that packaging seems to be trickier for people to figure out 
with py2app than with py2exe I have gotten that impression. Maybe 
most people are using py2app with very little trouble and I'm only 
seeing the problems and requests for help that get reported here.

It sounds like for pure Mac development, that a bit of testing and 
hopefully minor tweaking will be enough to get py2app running well. 
Once that is done, Python 3 may actually work as a great development 
language for Mac applications. The only thing really missing once 
that is done is a port of a good cross-platform UI library, such as 
wxWidgets, so that cross-platform apps can be developed easily.

I also think that another part of the issue is simply that there are 
many more Windows developers than Mac developers. This means simply 
that more packages get released for Windows earlier than on the Mac. 
Similarly there may be more UI libraries and such under Windows 
because more people write them.

For Unix/Linux, I suspect that a larger percentage of the users are 
actually developers, based on what I've seen in the past. That would 
tend to lead to more people capable of fixing code and contributing 
to ports themselves on those platforms.

Maybe what I have to resign myself to is that if I want to develop in 
Python 3 (or any Python for that matter) for desktop applications, I 
need to be willing to live with any limitations. This is because I 
don't have the skill to code around those limitations in C. 
Alternatively I could develop my C and C++ skills as well as Python 
skills all at the same time so that I can port needed packages. That 
doesn't seem very realistic. This may just be a matter of the open 
source nature of Python.

-Rodney





More information about the Pythonmac-SIG mailing list