On Mon, Aug 04, 2014 at 04:44:46PM -0700, Greg Markham wrote:

>  Ok, when I try this from the Shell window, it works.  When executing the
> full program from command line, it does not.  Python versions from both
> shell and command line are 3.4.1 (confirmed via command: "python -V").

I'm a little confused, because I consider "the shell" and "command line" 
to more or less be synonymous. Perhaps if you explain step-by-step what 
you do. Here's my guess of what you mean by "command line":

Click on Start Menu.
Choose "Run" command.
Enter "cmd.exe"
Enter "python I:\Programming\Scripts\Learning\chapter02\game_over2.py"

Am I close?

> Full error msg output when run from cmd line reads:
> 
>   File "I:\Programming\Scripts\Learning\chapter02\game_over2.py", line 14
>     print("Here", end=" ")
>                      ^
> SyntaxError: invalid syntax

That definitely looks like a Python 2 error, but it should work in any 
version of Python 3. This is a most perplexing error, I can only imagine 
that you have both Python 2 and 3 installed and somehow, for some 
unknown reason, you're sometimes getting one and sometimes getting the 
other.


> > 2. copy and paste the code and complete traceback.  retyping things
> > make it more likely that what is in your code isn't exactly what you
> > typed
> >
> 
> Apologies, but what is a traceback?  Is this a debugging feature found in
> the shell?  (I looked, but didn't see it)

A traceback is the text Python prints when an error occurs. It normally 
starts with the word "Traceback" and ends with the kind of error 
(SyntaxError, NameError, ImportError, etc.) and usually an error 
message. For example:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in function
TypeError: object of type 'int' has no len()

or similar. The details will differ slightly (e.g. sometimes Python can 
print the offending lines of code) but the important thing is that there 
is a lot of useful information available in the traceback, if you show 
us the entire thing, from start to finish.

SyntaxError is quite exceptional, in that it normally doesn't start with 
the word "Traceback", for technical reasons[1]. Technically, I suppose, 
it's not really a traceback, but we tend to call it such regardless.






[1] SyntaxError normally occurs at compile-time, while Python is parsing 
the source code, and before execution starts, so there's no chain of 
calling functions and no traceback. But we normally don't care about the 
technical details.


-- 
Steven
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to