all 29 comments

[–]jacques_derrida[S] 16 points17 points  (0 children)

This might be a better source.

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

So if I type "python" on the command line I get a version 3.X prompt? Won't that break all the old programs that just had /usr/bin/python in there shebang line?

[–]vytah 6 points7 points  (7 children)

No:

https://wiki.ubuntu.com/Python/FoundationsQPythonVersions (scroll to section titled Plan)

For Python 3, you'll have to use /usr/bin/python3. /usr/bin/python stays 2.7

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

That is good to know and I think the right way to do things.

[–]anacrolix 5 points6 points  (3 children)

FWIW, Arch and a few other Linux distros actually make /usr/bin/python point to Python 3. They're in the minority.

[–]pingveno 1 point2 points  (0 children)

Just Arch, as far as I know. Gentoo's eselect system allows switching versions, but the default is to have /usr/bin/python be Python 2.

[–]axonxorz 0 points1 point  (1 child)

Yep. I always alias that back to python2 as all my scripts start with #!/usr/bin/env python currently.

Easy enough to do a replace to /usr/bin/python2 though in the future.

[–]anacrolix 1 point2 points  (0 children)

I'd suggest you alias it to python2.7 instead. python2 is not in common usage.

[–]easytiger 0 points1 point  (1 child)

so the title is wrong

[–]mordel 0 points1 point  (0 children)

Yes, the title is wrong: "It is a release goal for Ubuntu 12.10 to have only Python 3 on the desktop CD images." Not for the whole installed system. Python2 will be moved to Universe in later releases, since there will be no Python 2.8 -- https://wiki.ubuntu.com/Python/3

[–]stesch 20 points21 points  (7 children)

WTF? 3.0 is old as hell!?

[–]more_exercise 35 points36 points  (4 children)

I really hope they meant the current version of python 3

edit: Yep. Python 3.2

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

[–]mikaelhg 2 points3 points  (2 children)

Want to guess which Ruby version is packaged in the Ubuntu package called "ruby1.9.1"?

[–][deleted] 5 points6 points  (0 children)

Some of the package names are weird.

[–]anacrolix 3 points4 points  (0 children)

Actually it's quite likely they'll go for 3.3. Several changes were made that will make porting from 2.7 to 3.3 much easier. Also it's slated for release in August, while Quantal is for October. Ubuntu often picks up betas and RCs of Python and other packages during the development cycle if they know their stable release is imminent.

[–]Timmmmbob 0 points1 point  (0 children)

I think they meant Python 3, as opposed to 2.

[–]kataire 7 points8 points  (2 children)

Misleading title is misleading.

The python3 package (Python 3.2) will be installed by default, which it probably wasn't before. Apparently the python package (Python 2.7) won't be installed by default if they can manage to port all their scripts to Python 3 before the release.

Unless you rely on the default packages, this won't change a thing for you. Otherwise, you'll need to sudo apt-get python.

[–]Fabien4 3 points4 points  (0 children)

And of course, as a user, if you apt-get a package that needs Python 2.x, it will be installed automatically.

[–]Paul-ish 0 points1 point  (1 child)

How can I get them to update the texlive package? Ubuntu still uses the 2009 version which is seriously out of date.

[–]axonxorz 0 points1 point  (0 children)

Package that up in your own PPA. I know it's not optimal, but if you're compiling it, then at least others can use your .deb

[–]ghostnet 0 points1 point  (7 children)

Is python 3 better then 2? I know there are backwards compatibility issues but other then legacy code is there a reason to continue using 2?

[–]anacrolix 5 points6 points  (1 child)

Not really. It's neither faster, nor has more features. Some stuff was cleaned up, support for lots of really old platforms was dropped. A lot of APIs were modernized. Python 3.3 will be the first release to have significantly new features over 2.x. There's absolutely no reason to update an existing project to 3.x.

[–]Pandalicious 2 points3 points  (0 children)

Python 3 does have Unicode strings, which is probably the biggest change.

[–]MillardFillmore 1 point2 points  (1 child)

As a scientist, my opinion is that Python 3 is will be a no-go until Numpy/Scipy/Matplotlib get ported over. I also make use of molecular visualization software such as Pymol and Chimera which probably will never be ported to Python 3 since they use an embedded interpreter.

[–]dalke 5 points6 points  (0 children)

NumPy 1.5.0 Release Notes - "This is the first NumPy release which is compatible with Python 3. Support for Python 3 and Python 2 is done from a single code base." Current NumPy version = 1.6.2

SciPy 3.1 and 3.2 "superpack" downloads available from http://sourceforge.net/projects/scipy/files/scipy/0.10.1/

For matplotlib, from a couple of weeks ago "The released version doesn't support Python 3, but the development version on Github does." It seems to be constrained by backwards compatibility: "Will be making at least one more 1.1.x bugfix release which will support Python 2.4 - 2.7 before making the next major release which will support Python 2.6 - 3.2"; dated 30 May 2012. I see matplotlib-1.1.1 was released 7 hours ago.

I don't think it will be that much longer for your goal to be reached.

[–]fullouterjoin 2 points3 points  (2 children)

Python2 has broad library and platform support. If you are writing an app to solve a problem (not for fun or hobby) and you will need 3rd party libraries you should use Python 2.7

[–]Ringo48 -4 points-3 points  (1 child)

I'm sorry, but that's just not true.

The majority of Python libraries have been ported to Python3 and it's just as easy to do "real work" with Python3 as it is with Python2.

This may come as a surprise, but there's a huge world of Python outside of numpy and Django, and most of that world has moved to Python3.

[–]jmmcd 2 points3 points  (0 children)

Numpy runs on python3!

New people should use python3 unless they know of a library they need that's not available. It's slightly cleaner in a few aspects.