You are not logged in.
The releases of Python 2.6 and Python 3.0 are around the corner. (Both are in RC stage now.)
I'm pretty new to Arch so haven't been here through a major language change (whether Python, Perl, or whatever). I imagine it can be a lot of trouble.
Python2.6 and Python3.0 are now available in AUR; but changing the base language install threatens to raise all sorts of new problems.
Can anyone fill me in on what the distro's upgrade strategy will be? Will there be a period where the norm is to have both Python2.5 and one of the newer versions installed, and for packages that use Python to be migrated over/bugchecked slowly? Or a marathon week where almost everything that uses Python is recompiled at once, put into testing, and cross our fingers?
Because the Python3.0 changes are so radical, I'm expecting for most people to have both Python3.0 and Python2.something installed for a while. But I don't know whether a rolling distro like Arch likes to do the same for Python2.5 and Python2.6.
Offline
This is nothing official, just my 5 cents on the matter: (how I would do it if I was mantaining python)
Python 3.0; seperate python3 package
Python 2.6; python
Python 2.5; seperate python25 package
And then maby remove 2.5 after a while, when most libs and apps have been updated to 2.6.
From the python devs it's stated that 2.x and 3.x will be released side by side for quite a long time (years?) yet. So having a seperate python3 package makes sence. It's also fairly easy and clean with altinstall.
Last edited by Mr.Elendig (2008-09-30 18:16:47)
Evil #archlinux@freenode channel op and general support dude.
. files on github, Screenshots, Random pics and the rest
Offline
If the way Qt was handled is the norm then I suspect eventually the python package will become 3.0 and for legacy purposes we'll see a sort of python2 package around to keep existing apps in line.
Offline
If the way Qt was handled is the norm then I suspect eventually the python package will become 3.0 and for legacy purposes we'll see a sort of python2 package around to keep existing apps in line.
That would cause a load of breakage tho, since python3 is not backwards compatible, so it would break a load of apps/scripts that does #!/usr/bin/python
Evil #archlinux@freenode channel op and general support dude.
. files on github, Screenshots, Random pics and the rest
Offline
Or a marathon week where almost everything that uses Python is recompiled at once, put into testing, and cross our fingers?
That sounds like it would be fun ![]()
The day Microsoft makes a product that doesn't suck, is the day they make a vacuum cleaner.
--------------------------------------------------------------------------------------------------------------
But if they tell you that I've lost my mind, maybe it's not gone just a little hard to find...
Offline
Specialy since python is compiled at runtime ![]()
Evil #archlinux@freenode channel op and general support dude.
. files on github, Screenshots, Random pics and the rest
Offline
Well, these are my packages so I should know what will be happening.... Take that as a warning that things will probably break - the saying "Allan broke it" did not come out of nowhere
(Well, it did actually...)
My current plan A is (subject to change):
python2.6 = python2
python3.0 = python
Given almost nothing will run against python3 yet, I will build everything against python2.6. From my testing, everything seems to be working with python2.6 (I can't test everything...) so I am hoping the need for a python25 package will be non-existent.
FYI - there are 47 rebuilds for python2.5 -> python2.6 from programs that link to libpython2.5.so and there will be another 46 to fix dependencies from python to python2 and potenitally another 49 rebuilds to change any /usr/bin/python to /usr/bin/python2. That is just the [extra] repo. I haven't search [community] for rebuilds yet.
My plan B is:
python2.6 -> python
python3 -> python3
This saves the need to patch any /usr/bin/python's at the moment, but will require them as we transition to python3... So its work now vs work later.
Anyway, none of this will happen at least until gnome is out of [testing] (due to the overlap in packages), python3 is released and I actually decide what I am doing!
Offline
Thanks for the update Allan!
Offline
Allan, now that python 2.6 is out (and not 3.0), are you going with plan B?
Offline
Well, these are my packages so I should know what will be happening.... Take that as a warning that things will probably break - the saying "Allan broke it" did not come out of nowhere
(Well, it did actually...)
My current plan A is (subject to change):
python2.6 = python2
python3.0 = pythonGiven almost nothing will run against python3 yet, I will build everything against python2.6. From my testing, everything seems to be working with python2.6 (I can't test everything...) so I am hoping the need for a python25 package will be non-existent.
FYI - there are 47 rebuilds for python2.5 -> python2.6 from programs that link to libpython2.5.so and there will be another 46 to fix dependencies from python to python2 and potenitally another 49 rebuilds to change any /usr/bin/python to /usr/bin/python2. That is just the [extra] repo. I haven't search [community] for rebuilds yet.
My plan B is:
python2.6 -> python
python3 -> python3This saves the need to patch any /usr/bin/python's at the moment, but will require them as we transition to python3... So its work now vs work later.
Anyway, none of this will happen at least until gnome is out of [testing] (due to the overlap in packages), python3 is released and I actually decide what I am doing!
Personaly I would prefear plan B; python 2.x is not going away anytime soon, and I suspect most apps will continue to be written for 2.x.
I can't say I like the idea of having to patch most python apps to run them with the right interpeter.
Evil #archlinux@freenode channel op and general support dude.
. files on github, Screenshots, Random pics and the rest
Offline
Allan, now that python 2.6 is out (and not 3.0), are you going with plan B?
Have not decided. Python3 was scheduled for for the 15th of October but RC2 has been delayed so I guess so will the final release. I can't do much until the [testing] repo is cleared of the gnome and boost updates anyway.
Offline
Personaly I would prefear plan B; python 2.x is not going away anytime soon, and I suspect most apps will continue to be written for 2.x.
I can't say I like the idea of having to patch most python apps to run them with the right interpeter.
Well, it is either patch them now to use python2 or patch them later to use python3... I agree that it will take a while for apps to be ported because they will have to wait for every library they use to be ported. But the warnings in python2.6 and the 2to3 too make porting fairly straight forward.
From people I have talked to, opinions are roughly 50/50 on this issue. This will be a pain of a transition no matter what. We are going to need python-<lib> and python2-<lib> packages for a while. I think it is easier long term to add addition python2-<lib> packages that will be removed when no longer needed rather that adding python3-<lib> package that would need renamed. Also, I managed to transition most of my system (33 packages) to using python2 in about two hours (being generous) + build time.
Offline
Either way, I'd like to see both the python2 symlink created in the next version bump.
Running Folding@Home for Team 11108 - My Stats
Offline
Allan - you can't please all of the people all of the time. You have good instincts. Go for it!
Offline
i like plan A ![]()
Offline
/usr/bin/python2 may breake packages from easy_install plus user apps/scripts... and Python 3.0 will kick in when server oriented distros (debian, rhel, ubuntu) will ship with it as default. I can run whatever version of Python on Gentoo or Arch, but it has to be "compatible" with the server environment, which runs debian or ubuntu ^_^
Nice way would be to slot Python 2 and 3 and use some tool to select which is currently used by the system as plain "python" ![]()
Offline
Offline
And specifically this post in that thread http://archlinux.org/pipermail/arch-dev … 08529.html
Offline
That sounds very good. Plan A would break too many packages up front. Roughly how long are gnome and boost rebuilds going to be in [testing]? Are we talking days, weeks, months, etc.?
Offline
neowolf wrote:If the way Qt was handled is the norm then I suspect eventually the python package will become 3.0 and for legacy purposes we'll see a sort of python2 package around to keep existing apps in line.
That would cause a load of breakage tho, since python3 is not backwards compatible, so it would break a load of apps/scripts that does #!/usr/bin/python
Indeed and a lot of programs depend on Python, massive fails.
Thurin1 @ irc.freenode.net #archlinux
Offline
Hey Allan, now that python 3.0 is finally out
, can we get a status update?
Offline
Sure... I will stick a python3 package into the repos in the next few days. Once the main libraries that use python are ported (my guess is six months time...) I will do a python->python2 + python3->python switch.
Offline
Great, thanks! Though I have a sneaking suspicion that it will take a lot longer than six months before you'll be able to make python 3.0 the default python executable.
Offline
I've tried installing python 3.0, but it doesn't install adequately, and I suspect it's due to gcc, which the current python package fails to invoke. Installation errors:
./python -E -c 'import sys ; from distutils.util import get_platform ; print(get_platform()+"-"+sys.version[0:3])' >platform
unable to execute gcc: None
....
(python 2.6.2:
./python -E -c 'import sys ; from distutils.util import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
unable to execute gcc: Exec format error
....)
This is why some modules are not importable:
ImportError: No module named math
I hope Allan will fix this installation errors.
update:
even the official python 2.6.1 PKGBUILD doesn't pass "make test" during compilation on x86_64.
Last edited by ahcaliskan (2009-04-18 01:36:38)
Offline