FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor


 
 
LinkBack Thread Tools
 
Old 10-20-2010, 05:10 PM
C Anthony Risinger
 
Default Python 3 Rationale?

On Wed, Oct 20, 2010 at 10:45 AM, maxc <maxc@me.com> wrote:
>
> There is an excellent post by Guido here, Hilton:
> http://mail.python.org/pipermail/python-3000/2008-February/011910.html
>
> Guido seems to favor using /usr/bin/python3.0 or /usr/bin/python3 and
> /usr/bin/python as symlinks to the respective versions of Python.
>
> 'Perhaps we should only install "python3.0" and not "python".'
>
> We're not here to discussion semantics ofc. There is a much broader
> concern which I hope we can address through friendly discourse.

I think you're agreeing with Arch's decision, but it's not clear to
me, so disregard some of the following if that's the case :-)

the link provided clearly demonstrates the symlink/ambiguity of the
`python` name. I think he just means maybe they shouldn't
create/include the symlink by default.

so, my last attempt to reason with this circular discussion... :-)

ultimately, py3k is here, and is the path forward, regardless of how
long python2.x will be around (many years i'm certain, it works just
fine [maybe some yummy pypy to come too]). They are both available
simultaneously, and will be for a very long time. however, if you use
the bare `python` name, expect to adapt/detect the version/etc at
runtime, because you are leaving the environment up to the system.
factor out the various compatibility bits, so they can be selectively
imported based on the version, thus avoiding syntax errors, etc.

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.

C Anthony
 
Old 10-20-2010, 06:05 PM
maxc
 
Default Python 3 Rationale?

On Oct 20, 2010, at 01:10 PM, C Anthony Risinger <anthony@extof.me> wrote:


On Wed, Oct 20, 2010 at 10:45 AM, maxc <maxc@me.com> wrote:
>
> There is an excellent post by Guido here, Hilton:
> http://mail.python.org/pipermail/python-3000/2008-February/011910.html
>
> Guido seems to favor using /usr/bin/python3.0 or /usr/bin/python3 and
> /usr/bin/python as symlinks to the respective versions of Python.
>
> 'Perhaps we should only install "python3.0" and not "python".'
>
> We're not here to discussion semantics ofc. There is a much broader
> concern which I hope we can address through friendly discourse.

I think you're agreeing with Arch's decision, but it's not clear to
me, so disregard some of the following if that's the case :-)

the link provided clearly demonstrates the symlink/ambiguity of the
`python` name. I think he just means maybe they shouldn't
create/include the symlink by default.

so, my last attempt to reason with this circular discussion... :-)

ultimately, py3k is here, and is the path forward, regardless of how
long python2.x will be around (many years i'm certain, it works just
fine [maybe some yummy pypy to come too]). They are both available
simultaneously, and will be for a very long time. however, if you use
the bare `python` name, expect to adapt/detect the version/etc at
runtime, because you are leaving the environment up to the system.
factor out the various compatibility bits, so they can be selectively
imported based on the version, thus avoiding syntax errors, etc.

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

C Anthony



Yes, I do support the decision.

My final concern has been the convention of how Python is linked.

I agree, devs can't rely on that. But is there anything to be gained by going against what the Python devs are suggesting? Couldn't we have python and python3 and still be bleeding edge? (Assuming that what I've suggested is still how Guido and others feel, that may have since changed.)

Lastly, your reply is refreshing! Thank you so much, I really appreciate being able to discuss things like this. 
 
Old 10-20-2010, 08:00 PM
 
Default Python 3 Rationale?

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.

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.

Ciao,

--
FA

There are three of them, and Alleline.
 
Old 10-20-2010, 09:01 PM
C Anthony Risinger
 
Default Python 3 Rationale?

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
 
Old 10-20-2010, 09:08 PM
Mithrandir
 
Default Python 3 Rationale?

On 10/20/2010 06:52 AM, Hilton Medeiros wrote:


HackerNews, Slashdot, ...:
- Someone post an announcement with 10 lines;
- They read it (or not) and think that that is all the information
behind the story;
- They furiously start typing the first thing that pops in their mind;


Often preceded by tl;dr.


- By the time you (Mithrandir, in this case) posted a more in-depth
post, the majority had already run to the next news.

Also, the... bitching there is completely nonsense. I can't believe
they know Linux or even python well enough judging by what they say
about developing _difficulties_ because of this move.



Amen to that. It's almost worse than comp.os.linux.advocacy, which gets
mostly spam from Wintrolls and Mac fanboys. Very few GNU/Linux users try
and take them on there (and with good reason.)


Only reason I go there (HackerNews, Slashdot) is to read what's new in
the news, and make a comment or two. Arguing with them does diddly-squat.




AFAIK, with python is easy as hell to build a local/virtual environment
for any python version... I don't get it. Anyway, nothing to see there
for this post, sadly.


Well, *some* programs that worked with Python 2, don't work very well/at
all with Python 3. But yeah, it's not usually too difficult to fix it.


Regards.
 
Old 10-21-2010, 12:01 AM
Allan McRae
 
Default Python 3 Rationale?

On 21/10/10 01:45, maxc wrote:

There is an excellent post by Guido here, Hilton:
http://mail.python.org/pipermail/python-3000/2008-February/011910.html


That was in February 2008... Back when we were using python-2.5 because
neither python-2.6 or python-3.0 had been released. So I doubt even
Guido really cares what he thought then. Things have changed.


Anyway, the point of this discussion is... well, there isn't one.

The only way the python symlinks are going to change from what we
currently have is if a person who wants them changes:

- becomes active in the community
- is elected as a TU
- gets brought on as a developer
- convinces me they are competent enough to take over python maintenance
- makes the change
At which point we all go "WTF? Those symlinks have been like that for
two years." and revoke developer privileges as they are a crazy person
and should not be trusted with our packages.


Case closed.


Now a good use of time would be to help resolve any remaining issues
with this transition. Make sure bug reports are made for packages from
our repos that are having issues and post fixes. Help people on the AUR
update their packages for the change. Report upstream any packages that
keep a shebang pointing to python when the software was configured with
python2 or if their software can not be configured to use a specific
version of python. Update the python page on the wiki.


Allan
 
Old 10-21-2010, 01:45 PM
"Armando M. Baratti"
 
Default Python 3 Rationale?

Em 20-10-2010 13:21, Daenyth Blank escreveu:

On Wed, Oct 20, 2010 at 11:16, Armando M. Baratti
<ambaratti.listas@gmail.com> wrote:

Em 20-10-2010 05:24, Stefano Z. escreveu:


anyone know if reportlab does work with python3 ?



No, reportlab doesn't work with python3.
Neither Django, nor Twisted.

As well the modules below are incompatible with python3 (to mention a few):
- PyGTK2
- Pyjamas
- Kiwi
- Beaker
- Cheetah
- CherryPy
- nose
- Paste
- numpy
- PyChecker
- pycrypto
- egenix utilities (used by many db connectors)
- psycopg
- couchdbkit
- Elixir
- MySQL-python
- PyMySQL
- PyDB2

And many, many more.
It'll be a long time for many of these modules be converted (rewritten in
some cases) to python3.

It was a smart move from the standpoint of package management, but from the
point of view of a developer...

Armando



You do realize that python 2 is not being taken away, right?



Yes, off course I do. But I also realize that, besides Python isn't the
easiest platform to deploy to, specially when your customers aren't tech
savvy and have to make some adjustment or install some module, we end
with incompatible platforms for development (Arch Linux, that uses
python3 by default) and deployment (some other distro that uses python2).
This isn't the end of the world, by adds to the things that contribute
for the appearing of problems on the deploying (specially on rather
larger ones).



Armando
 
Old 10-21-2010, 01:54 PM
Cdric Girard
 
Default Python 3 Rationale?

On Thu, Oct 21, 2010 at 3:45 PM, Armando M. Baratti <
ambaratti.listas@gmail.com> wrote:

>
>
> Yes, off course I do. But I also realize that, besides Python isn't the
> easiest platform to deploy to, specially when your customers aren't tech
> savvy and have to make some adjustment or install some module, we end with
> incompatible platforms for development (Arch Linux, that uses python3 by
> default) and deployment (some other distro that uses python2).
> This isn't the end of the world, by adds to the things that contribute for
> the appearing of problems on the deploying (specially on rather larger
> ones).
>
>
> Armando
>


I'm not sure it's really a good idea to have a development platform
different from the production platform unless you deploy on heterogeneous
environments.

--
Cdric Girard
 
Old 10-22-2010, 05:20 PM
Gaurish Sharma
 
Default Python 3 Rationale?

Hi,
I don't agree that python 3 is ready for mass use yet. I think arch
made a premature switch.

Hence, I am not upgrading my system. I hope archlinux rollbacks python3 update.

Regards,
Gary
 
Old 10-22-2010, 06:03 PM
Uli Armbruster
 
Default Python 3 Rationale?

That won't happen! And I hope you know that python2 isn't gone, it's still available. All the package maintainers have to do is change the sheband. Of course that needs a little bit of work, but that's really not the biggest deal! If there are AUR packages which haven't done these changes yet, please help the maintainers with a useful comment.

* Gaurish Sharma <contact@gaurishsharma.com> [22.10.2010 19:21]:
> Hi,
> I don't agree that python 3 is ready for mass use yet. I think arch
> made a premature switch.
>
> Hence, I am not upgrading my system. I hope archlinux rollbacks python3 update.
>
> Regards,
> Gary
 

Thread Tools




All times are GMT. The time now is 08:09 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org