On Wed, Oct 20, 2010 at 3:00 PM, <fons@kokkinizita.net> wrote:
On Wed, Oct 20, 2010 at 12:10:03PM -0500, C Anthony Risinger wrote:
the point is that it really, really, really... doesn't matter what `python` is symlinked to. developers need to have the competence to instruct the system appropriately, and construct the environment they need to function properly. if you rely on a particular behavior from a moving target, then your app is already broken.
Problem is that some packages for the time being *have* to be Python 2, most notably anything numpy or related to it. Adapting numpy to P3 is not just a matter of changing some details. Up to now numpy has had its own multidimensional array classes. The new buffer interface in P3 is superior to these, so numpy should (and probably will) migrate to this. But this is not a simple operation, it involves a lot more than the normal P2 or P3 transition supported by the existing tools.
slightly nit picky :-), but numpy supports py3k AFAIK. i am also on the vpython (visual) list, and they were talking about how vpython now works on py3k because numpy supports py3k. wikipedia/official site seems to confirm this as well. and alas, if a package *must* be python2, it should enforce this itself by blowing up :-). it mainly needs to make it easy to manually run under python2.x... this is actually all i had to do to fix pyjamas (python -> javascript translator); pyjamas was spawning subprocesses during the translation phase, but it was simply calling `python` (assumption)... sooo, all i had to do was make it check sys.executable for a valid entry, and use that instead, thus passing on the current interpreter (python2/whatever), instead of inadvertently running py3k.
At the same time other packages (from Arch) expect python to link to python3. Things would be *much* easier if *all* would refer explicitly to either 2 or 3, instead of assuming some default. In that sense the Arch decision seems unfortunate.
and therein lies the problem: expectation is the root of all disappointment. really though, i agree with you 100%; this is why i previously said i hope the python2/python3 naming becomes defacto, so apps that *must* use the 2.x series can reasonably do so, cross-distro, simply by invoking `python2`. as for `python`... i just don't see any reason why it shouldn't link to the latest release; 'to not break unprepared apps that have known about this transition for years' just isn't a good enough reason in my opinion. C Anthony