[arch-general] Python 3 Rationale?

C Anthony Risinger anthony at extof.me
Wed Oct 20 17:01:15 EDT 2010


On Wed, Oct 20, 2010 at 3:00 PM,  <fons at 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


More information about the arch-general mailing list