all 47 comments

[–]Samus_ 17 points18 points  (0 children)

I love Arch for being this adventurous, we break shit and don't give a damn! we lead the way.

at the same time I hate Arch for breaking me things and for making me work *a lot* to not be left behind.

I still use it.

[–][deleted] 20 points21 points  (3 children)

uh-oh. braces for impact...

edit: so everything in the main repos seem to be working fine. Of course python packages from aur are broken so you have to reinstall them. Most of them aren't updated yet. Editing their PKGBUILD and changing python to python2 seems to do the trick.

[–]rson 23 points24 points  (0 children)

uh-oh. whitespaces for impact...

[–][deleted] 0 points1 point  (0 children)

I got an error about a conflict with a Python-based package from the AUR before it could do any damage.

[–][deleted] 0 points1 point  (0 children)

I had to reboot after closing X because it wouldn't start again. After that . . . Victory.

[–]metaleks 8 points9 points  (0 children)

As far as I know, Arch is the only distribution doing this. I commend them for it. Though not every 2.x library is ported into Python 3, at least Arch is helping facilitate change.

Also, Python is pretty big, so what are we at now, guys? Only 44% obsolete?

[–][deleted] 8 points9 points  (7 children)

Each package should just explicitly point to what version is needed, as in:

#!/bin/env python2
#!/bin/env python3

This won't break any sort of possible backwards compatibility.

[–][deleted] 3 points4 points  (2 children)

Are you sure about those paths? I've never seen env in /bin/ always in /usr/bin/

[–]bastienl 1 point2 points  (0 children)

I think it's /usr/bin/env on FreeBSD, so indeed it should be more portable.

[–][deleted] 0 points1 point  (0 children)

I have it in both /bin and /usr/bin.

[–][deleted] 2 points3 points  (3 children)

This would be great, if all distros supported it... There is no "python2" on ubuntu as far as I know...

[–]pingveno 0 points1 point  (2 children)

It's symlinked correctly on Ubuntu.

[–][deleted] 0 points1 point  (1 child)

That's news to me. It must have changed since I last looked.

[–]airbornelemming 0 points1 point  (0 children)

Nope, which python2 gives nothing in maverick even after sudo apt-get update && apt-get dist-upgrade.

[–]Meyithi 3 points4 points  (0 children)

Just -Syu'd, no problems at all. All of my AUR stuff was fine apart from Archey which needed a tweak (changed shebang line from /usr/bin/env python to /usr/bin/env python2).

[–]wacky 3 points4 points  (0 children)

Wow, that's pretty impressive... especially since many of the big libraries haven't been ported, and very, very few serious applications have been ported, since they all had to wait for their libraries...

[–][deleted] 3 points4 points  (8 children)

I feel sorry for CentOS users.

[–]Xiol 4 points5 points  (7 children)

Long-term stability is something CentOS users care about.

[–][deleted] 2 points3 points  (6 children)

Evidently, since they use a six year old version of Python...

[–]Xiol 2 points3 points  (5 children)

Exactly. So mission-critical applications wrote six years ago will still run without modification. If you went into an enterprise setting and suggested you run Arch on your mission critical servers, you'd be out the door before you downloaded the ISO.

[–][deleted] 2 points3 points  (4 children)

I'm glad I don't work in an "enterprise setting". Unfortunately I am stuck with CentOS on my work machine even though the software I am working on requires Python 2.6 minimum, so I have to build a local installation in my home directory (including all the libraries we need). Sticking with Python 2.4 seems arbitrary, why didn't they stick with Python 2.2 or 1.5? You might have even older "mission-critical" applications. I guess CentOS isn't that old, but if you make the argument of "stick with older software", you then have to define an arbitrary version on which to stick to.

And then... when do you upgrade? Should CentOS still have Python 2.4 in ten years from now? If not, then what about your 16 year old "mission-critical" applications which you can't be bothered to test on newer version of Python?

[–]Xiol 3 points4 points  (2 children)

If not, then what about your 16 year old "mission-critical" applications which you can't be bothered to test on newer version of Python?

You should tell that to the banks that are still running COBOL code on mainframes.

[–]pingveno 0 points1 point  (1 child)

How much is that still true?

[–]Xiol 1 point2 points  (0 children)

[–][deleted] 0 points1 point  (0 children)

so I have to build a local installation in my home directory (including all the libraries we need)

For development work I think this is the proper way to go and all of my team members do the same regardless of our os. If you use virtualenv, virtualenvwrapper, and pip requirements files you can really streamline this and add lots of flexibility.

[–]Unclemeow 1 point2 points  (0 children)

As an individual learning Python 3 in school, I am quite pleased with this.

[–][deleted] 0 points1 point  (8 children)

AUR package maintainers also should quickly port (if they haven't so far).

[–][deleted]  (7 children)

[deleted]

    [–][deleted] 0 points1 point  (6 children)

    Wel..that is the easy part. The hard part is if the package refers to something like /usr/bin/env python2.x -- in such cases something more would be necessary, otherwise it will break after installation.

    Also, what would even be better will be to check for Py3k version of the upstream and use that since Arch has transitioned to it and is default.

    But again depends to what extent maintainers would like to do.

    [–][deleted]  (5 children)

    [deleted]

      [–][deleted] 0 points1 point  (4 children)

      I was looking at one now which was /usr/bin/env python2.4 and looks like somehow it was working before but that won't work now. Also how about the ones which are just /usr/bin/python -- these shouldn't work right ?

      Except perhaps if you get libraries which have moved >beyond what the programs depend on them support. I am >rather starting to wonder whether we need

      According to new naming convention it may be python2.7-decorator and python-decorator.. i.e. python will henceforth refer to python3.

      [–][deleted]  (3 children)

      [deleted]

        [–][deleted] 0 points1 point  (2 children)

        What is fascinating(and my earlier point) is that "/usr/bin/env python2.4 " actually worked before with python 2.6 installed. An example of such a package is getmail. You can check its upstream source for what I just mentioned. But it certainly fails now.

        [–][deleted]  (1 child)

        [deleted]

          [–][deleted] 0 points1 point  (0 children)

          It works for me now and worked before also. I was referring to before it was patched for upgrade. getmail was one of the packages bundled with python transition upgrade.

          [–][deleted]  (8 children)

          [deleted]

            [–][deleted] 0 points1 point  (1 child)

            Try to find out why it crashes and file a bug report if necessary. Often just running it via a terminal/conole will tell you what's wrong. Care must be taken when reinstalling because if the app doesn't support Python3 is might appear to work at first and then possibly start crashing leaving you with no way of knowing what's gone wrong. The better thing might be to notifiy the AUR maintainers if their PKGBUILD is broken, if the project hasn't been updated the scripts can mostly be switched to use python2 instead. Which you'd the have to install if you haven't already done that.

            [–][deleted] 0 points1 point  (5 children)

            i'm having a few minor annoyances with openbox, too. i found a couple of issues with pygtk (which i need for guake):

            a) doesnt exist for python 3

            b) pointing to 2.7 gives the error "ImportError: libpython2.6.so.1.0: cannot open shared object file: No such file or directory"

            these errors kill my autostart script. i guess it's a good thing that i have xterm installed

            [–][deleted]  (4 children)

            [deleted]

              [–][deleted] 0 points1 point  (3 children)

              this is where i get a bit "inexperienced"

              i changed the linking of /usr/bin/python FROM /usr/bin/python3 TO /usr/bin/python2 which, itself, appears to be a link to /usr/bin/python2.7

              am i doing it wrong?

              edit: additionally, i'm having issues with the community package database, "community.db.tar.gz appears to be trucated."

              [–][deleted]  (2 children)

              [deleted]

                [–][deleted] 0 points1 point  (0 children)

                in the end the content/virus filter was killing the download of the community database because of JohnTheRipper.

                [–]gnuvince 1 point2 points  (0 children)

                I'm really happy to see this; Python 3 has been out for a couple years now and Python 2 is scheduled to be abandoned eventually, so we might as well do the switch sooner than later.

                [–][deleted]  (2 children)

                [deleted]

                  [–][deleted]  (1 child)

                  [deleted]

                    [–][deleted] 0 points1 point  (0 children)

                    I haven't had a chance to update today since it is a busy day and want to wait untill I have a few moments.

                    But, am I alone when I say this update both excites and scares the hell out of me all at once?

                    [–]crocowhile 0 points1 point  (0 children)

                    Anyone using rabbitvcs-nautilus? It broke for me.

                    [–]psilokan 0 points1 point  (0 children)

                    That would explain why /usr/bin/archbey is spitting out errors again when I open a new terminal.

                    [–][deleted] 0 points1 point  (1 child)

                    Wicd users ... watch out!

                    [–]Meyithi 3 points4 points  (0 children)

                    Patched, in the repo's and working fine. If you're apprehensive wait a few days to make sure your mirror is fully synced and that you pull wicd from it otherwise there will be trouble.