[Python-Dev] Python 3 as a Default in Linux Distros (original) (raw)
Laurent Gautier lgautier at gmail.com
Thu Jul 25 12:41:35 CEST 2013
- Previous message: [Python-Dev] Python 3 as a Default in Linux Distros
- Next message: [Python-Dev] Python 3 as a Default in Linux Distros
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 07/25/2013 11:45 AM, Maciej Fijalkowski wrote:
On Wed, Jul 24, 2013 at 7:22 PM, Laurent Gautier <lgautier at gmail.com> wrote:
On 07/24/2013 06:30 PM, Chris Angelico wrote:
On Thu, Jul 25, 2013 at 2:21 AM, Laurent Gautier <lgautier at gmail.com> wrote:
- errors that are typical of "Python 2 script running with Python 3"-specific are probably limited (e.g., use of unicode, use of xrange, etc...)
The most common, in interactive scripts at least, is likely to be:
print "Hello, world!" SyntaxError: invalid syntax How helpful it's possible to make that one, I don't know. Is it safe to presume that it's more likely a syntax error will come from an interpreter version mismatch than a code bug? The wrapper in /usr/bin/python: - could use what is in 2to3. I think that most of the cases are solved there. - whenever interactive, could have an intermediate layer between the input in the console and execution. So you suggest that instead of a clear SyntaxError you should end up with a confusing error (something has no attribute xyz or so) after a while (if say somone tries to load twisted via 2to3).
In a sense, yes.
I think that the a priori (expectations) a user has plays a role in whether something is confusing or not. Consider the two following situations:
- a programmer is working on code, and is testing it. If the program fails, this is because he/she made a mistake and the error message should indicate where the error originates from
- a user is running a python script (he expects to be working), and is using the default /usr/bin/python (formerly Python 2, now Python 3). If the program fails because of obvious Python 2-only idioms, reporting this rather that the SyntaxError is much less confusing.
Having that said, the comments are pointing out that this is may be not a completely good idea (most notably because of how slow 2to3 is). A wrapper producing an unconditional warning about the default python being changed to Python 3, and differences between Python 2 and Python 3 the possible source of errors, (as I think it was suggested) is going to be a better idea.
- Previous message: [Python-Dev] Python 3 as a Default in Linux Distros
- Next message: [Python-Dev] Python 3 as a Default in Linux Distros
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]