I wonder how soon can panda3d be ported to use py26?
It’s really more of a question of how soon can we expect the majority of our users to be ready to move to Python 2.6?
Panda can be built for any version of Python, but the one that we provide here on the website should match what most people are using.
Given that 2.6 is a transitional version to help aid people in updating their code for Python 3.0, it might be worth releasing a supplemental (or beta) version of Panda3D with py2.6 for that purpose.
As drwr pointed out, it shouldn’t be the current, officially-promoted release, but interested parties could have access to it.
I did wonder about that also! I need to buy an updated book of whats been updated also!!!
at pygame we’ve ported it to 2.6 a few months ago (during beta, and alpha releases of python).
There was a fair amount of work for the windows port (which Lenard mostly did), since they’ve changed C libraries.
It might be helpful to look at our svn, or our build system to figure out a few things from there.
Yeah i think we should look into 2.6 because there would be fair amount of changes for 3.0 and i don’t think we want to get stuck behind.
Note, that python2.5 will be by far the most used python for a while. So no massive rush needed.
Also, python2.6 is not so good for compatible games if you want to support older computers (not sure if you do).
Also note, that python 3.0 isn’t supposed to be used for production. Python 3.1 is the one that is meant for that… So there is still quite a lot of time left.
The upgrade path that python developers suggest really does require unittests though…
Why would python 2.6 impact whether you run on older computers? The main difference between older and newer computers is the graphics cards and available RAM; neither are especially affected by Python 2.6.
personally, I wouldn’t mind if Panda 1.6 shipped with Python 2.6, but if it’s holding out for 1.7, I wouldn’t mind either.
Because python2.6 doesn’t work with win98, winme, nt4, win2k (except with >= sp4).
I think anyone running w2k is running sp5 these days, and any computer bought from 2001 on is likely to be running XP.
So you’re saying: if you’re targeting a Windows computer that hasn’t had an OS upgrade since the years 2000, then using Python 2.6 might be a problem. My question is: are there enough of those computers out there, that can actually run 3D content, that it’s worth worrying about? After all, if that is the market you want to go after, you could just as well use an earlier version of Panda, too.
For the record, as a Disney game developer, I can answer that question definitively: there are in fact large numbers of such computers out there. (And they’ve never updated their graphics driver, either.) These are generally kids on their parents’ old hand-me-down computers. And at Disney, we have to support them all, because that’s where our market is.
Not all of you are as interested in supporting the very broad market that we cater to, though. Probably, actually, few of you are.
A nice summary of whats changing.
Hmmm, I am minding and make pieces of a game, but i’m quite stuck because I wait a realease of Panda which support python 2.6, why ?
Because the 2.6 version have a module for multi processing, which is a very good thing for a game, so… I now just have to wait, cause I don’t really want to waste time to write a python 2.5 compatible code if I plan to use modules that are and will only be avaible for python 2.6 and later versions…
That is why I would personnaly vote yes to the evolution of panda to 2.6, even like suggested as an optionnal release… but on the other side, i understand the devellopers who could say : “too much work to maintain the official and the optionnal release”
All I have is hope…
There’s a python 2.5 backport available for the “multiprocessing” module:
But, afaik the “multiprocessing” module uses threading, which it’s not recommended to use in your game (deadlocks, race conditions.).
Panda3D 1.6.0 will have threading support enabled. But still you won’t be able to use the “multiprocessing” module then.
We’d need to make a copy of multiprocessing in stdpy that actually uses Panda’s threading modules.
Actually, multiprocessing starts separate processes, which each has its own memory space. So it should be safe to use with Panda, but you’ll have to be careful: you won’t be able to make Panda calls across the process gap (but you won’t be able to make other library calls across the gap either; that’s the fundamental problem with multiprocessing).
It’s no salve for all your woes. It would be silly to avoid writing code in Python 2.5 because you’re waiting for this particular feature. Especially because the backport is available, as pro-rsoft points out.
A friend of mine brought it to my attention that Python 3.0 was just released. I came here to see if anyone brought it up, but the closest I could find was this thread about Python 2.6 coming out and its impact on future Panda3D development. So I have come with a question. Would–or even should Panda3D look at Python 3.0?
Obviously halting progress would be silly, so at some point in the future a Panda3D release with Python 3 should probably be considered. There’s the other side, however; Python 3 is the first backward incompatible version of Python. That’s probably something to consider as well. From what I’m reading on the Python 3 change-log (http://docs.python.org/dev/3.0/whatsnew/3.0.html), conversion from Python 2.5 to Python 3.0 shouldn’t take too much effort on the part of those developing with the former, but there’s definitely a degree of effort required. Of course, I say this from the perspective of a developer who enjoys updates and feels a sense of pride from successfully keeping up-to-date code standards.
So I suppose I’m asking what was asked earlier in the thread about Python 2.6. What’s the future of Panda3D development now that Python 3.0 is out?
panda3d is about at 880,000 source lines of code. (it would take you 30 workdays to look at every line at 1 line/sec) (note its more code then python3.0 itself) It would take a lot to updating this to python3.0. Another problem is that python dropped support for older windowes which panda3d must support.
I don’t think we will see panda3d ported to 3.0 any time soon.
See, this is exactly the problem with the “system.” As David mentioned before, and rightfully so, there are too many people with obsolete hardware and software. Call me Socialist if you will, but I think hardware producers should drop as much obsolete hardware as possible and lower the prices of modern technology. Also, those operating system prices are absurd. Who would spend a hundred US dollars on a system? (especially when we have gratis Linux available–now to get the big software development corps to start making more native Linux products) Ah, but of course that would require all sorts of economic changes, and then there’s actually delivering better computer education to the public…
OK, societal rant done for now. I’m at a fork here, I guess. On one hand, Panda3D would do best to not force people into a backward incompatible engine that does not support older systems, and on the other hand staying on an older version of Python, while the negatives may be subtle now, may very well deprive it of potentially important future Python changes and additions.
One way to tackle this is for a few developers to branch off and make a version of Panda3D that stays with Python’s latest releases. The only reason I see this as not happening anytime in the near future is there’s very little development going on with Panda3D as it is. Don’t get me wrong–I love Panda3D and this community. We just have to face the fact that we don’t exactly have hundreds of developers working on the engine itself. I mean, have we even heard from Josh’s replacement yet? (please forgive me if I missed an update on that)
Note: I am not complaining at all. Panda3D as it is has given me the resources to very easily do what would otherwise take so much time and tedious labour. Meh… as I said, moving to Python 3 isn’t the most important thing for Panda3D for now as the changes are subtle. Honestly, I’m more excited about the upcoming Panda3D 1.6 release than Python 3.
Do you check the commit logs? Panda3d is one of the more actively maintained projects i know. They just don’t publisize it that much, one extra feature in 10,000 is not some thing to talk about.
Really? Huh… well, I suppose the old saying “you can’t judge a book by its cover” really does play a role in things. OK, I’ll be honest here–I didn’t check commit logs, and I’ve only visited the CVS a couple of times. Seeing as my primary source of information about the engine is the forum, I’m going to have to agree with you that the reason for my thinking that way was the lack of publicity with most of the changes. Then there’s the documentation… come to think of it, it would probably do me some good to start looking into the engine sources a bit more. I’ve been using Panda3D for probably a lot less time than many of the active members of this community–started about half a year ago (version 1.5.2, I believe), so I’ll hand over the gauntlet of knowing more about it to you and others here. It’s just that–at least on the end of the public image–things were starting to look a bit down (or so I took it). I guess this was just a result of my starting off with a rant about society, which I should have kept off a forum specifically for Panda3D.
So, I’m sorry if I offended you–is what I’m trying to say.