Every version of Python is always self contained and unobtrusive to other versions installed, and that was a very intentional design decision, so that as changes to the language take place, users with a heavy reliance on older versions will always be able to support their old scripts/programs without interfering with development of new programs using the advantages provided by the newer versions. Sabayon can continue to have Python 2 as it's primary version as long as it wants, the only way trouble can crop up are in places where sloppy coders left out the #! line at the start of their code stating which version to use. In the case of sticking with Python 2 as the standard path when Python is called, all code that ignored this good practice will default to using the default version, meaning it wont effect anything already using Python 2, the only code that MAY have issues are those written for Python 3 which neglected to mention it at the start causing Python 2 to attempt to execute the code, and only then if they used anything specific to Python 3 that hasn't been covered by some of the precautions added to 2.7.

As far as stability you clearly have no idea what you are talking about. Python 3.2 is very stable, and has been for some time. The only issue with Python 3 at this point is that fact that a number of 3rd party libraries that one may wish to use have still not been ported, but that number grows smaller all the time. In the cases you do actually still need something that hasn't been ported yet, then you just use Python 2.7 with it, such as say something like PyGames which still needs porting. Even before Python 3 became as stable as it is now, I never once had an issue with having multiple versions installed simultaneously.

The only reason I can see that there is any problem is a poor decision not to treat them as separate packages as they were intended to be.

xcausex wrote:Python 2 and 3 can live in perfect harmony side by side, and Entropy can continue to use Python 2 to the end of eternity if that is so desired.

Yes but the Entropy package manager is not the only Python-dependent application. Perhaps the issue is also that not all of the Python-dependent packages in the Gentoo Portage tree and overlays -- all packages in the Entropy repositories are built using ebuilds in the Gentoo Portage tree or overlays to it -- are guaranteed to work when multiple versions of Python are installed simultaneously: see the red Warning box at the bottom of the Gentoo Python Multiple ABI Guide.

Warning: Some packages are not yet ready to support multiple python ABIs, so your mileage may vary.

xcausex wrote:As far as stability you clearly have no idea what you are talking about. Python 3.2 is very stable, and has been for some time. The only issue with Python 3 at this point is that fact that a number of 3rd party libraries that one may wish to use have still not been ported, but that number grows smaller all the time. In the cases you do actually still need something that hasn't been ported yet, then you just use Python 2.7 with it, such as say something like PyGames which still needs porting. Even before Python 3 became as stable as it is now, I never once had an issue with having multiple versions installed simultaneously.

Maybe you should think before telling to someone he has no clue what he is talking about, it is not in my habits answering topics without knowing what I am talking about If you read carefully my posts, I talked about it being stable and tested with the entropy tree, stability does not involve the package itself, it involves it and its environment. Python is an interpreter, as such it involves any package written in python, Sabayon has its most important system utilities written in Python, they have to work, having python 2 and 3 side by side is a risk, it involves risks that you clearly can't know about without knowing the entropy structure, the emerge structure and the way Gentoo handles multiple Python versions. Sabayon won't ship Python 3 until its developers will be sure that the entire system (notice, not just Python 3) is going to be stable with that version.

xcausex wrote:The only reason I can see that there is any problem is a poor decision not to treat them as separate packages as they were intended to be.

They are separate packages, proof of this is that you can have Python 3 if you use portage, just go ahead and try it if it is strictly necessary for you. My advice is: if the development team refuses to include Python 3 in the entropy tree there are good reasons behind it.

Please people do some reading on how Python works. Generally when more than one version is present, only one of them are the default, in all the sensible distros I have tried this comes down to which version is symlinked to the term "python", in the case you wanted to have the default be 2.7 then you would symlink "python" to 2.7 it's as simple as that, any program ending in .py that is executed without a Python interpreter explicitly stated will assume you meant to call it with "python" meaning it will look in your path find the symlink for "python" and execute the code using the version it points at. There is no black magic going on here. Now if the coder responsible for a script/program took the 2 seconds of effort to state what version they want it to run with at the start of their code then it will default to using the version listed there, which is generally preferred and considered good practice. Then in the rest of the cases were you specifically call a version of python from a console with the script name specified as a parameter, then it will use that version you called with.

This is really a simple matter that was well thought out by those responsible for Python. I will state once more, there is absolutely no good reason not to support various versions of Python at the same time when they have already been designed to play well with one another. This just comes down to treating them each separately in Entropy and else where, when you install a second version it should not remove older version, nor should the packages replace/change the symlinks unless you want it to.

xcausex wrote:This just comes down to treating them each separately in Entropy and else where, when you install a second version it should not remove older version, nor should the packages replace/change the symlinks unless you want it to.

They are already treated as different versions and older ones are not removed, this is not a good excuse to make your system potentially unstable and unusable. Testing has definitely to be done before giving the user the opportunity to install it in his/her system. Even if Python is clearly designed to do that, Sabayon can't blindly rely on this without even giving some time to test it.This is why joost stated that it won't happen soon.

As I said, there is no good reason (aside from blender and a few other applications that require Python 3) to rush it, when an user that has the necessity of it can already have it from portage (albeit not thoroughly tested).Just read some Gentoo guide and you will be able to emerge python 3, then emerge an updated version of blender and you are done, just be aware that if something breaks, you are on your own.The alternative would be, wait a bit and it will be available on entropy.

That's it, really, Sabayon does not prevent you from having multiple python version and setting your default one, you can do it. Nor I am implying that Python 3 is ill designed and we have to test it because of its instability and system breaking. The purpose of emerge on Sabayon is making possible for the user to do what the default entropy packages don't or having packages that have not yet made it to entropy.What I am trying to clarify is that it won't be available in entropy without some previous testing, and for good reasons since it is a critical package. Nothing more.

[Edit]since Sabayon compiles packages with splitdebug enabled by default, if you don't want debug symbols for python 3 you should disable it before emerging python in your /etc/make.conf:1) open /etc/make.conf as root2) remove the splitdebug from the FEATURES line.

On the Sabayon's front page it claims to "provide the latest open source technologies." All I am saying here is that Python, an important and respected language in the open source community, is still only being represented in the Entropy repository by the old series of code. For a distro that lured me in with the claim of up-to-date software right out of the box with no hassle, I am being asked to jump through hoops to get pretty standard stuff. I've been using Arch Linux for several months now before I decided I wanted to try something a bit more hands off, where I can focus on creative work instead of constantly fiddling with the system facilitating that work. I've tried over half a dozen distros since Python development moved to 3.0 about 3 years ago now, and not one of them let me down when it came to getting a 3.x version of python from their standard repos. I can install Python 3 just fine from portage, there is no question there, what it comes down to is why should I have to? Out of those distros I've tried, only Arch used Python 3 as its standard python version, and only months after I moved to it, and I didn't have a single problem related to Python before, during, or after the switch. I use both Python 2 and 3 regularly, python 2 mostly only these days when I am in a mood to work with PyGames, and then Python 3 the rest of the time for simple system maintenance and especially more so now in Blender, since I started using the Blender Game Engine more these days.

Other than these really glaring faults, Sabayon seems like a great distro, but really this makes me want to go right back to Arch, and on the plus side there I at least still have my Arch install in place on one of my HDDs.

The problem with Python 3.x is that nobody actually wants to support it yet.It's a PITA and things are not going to change in the immediate future.You need to be a Python programmer to realize the mess they did with 3.x.