tags:

views:

77

answers:

4
+3  Q: 

Print syntax error

After installing python 3.1, I cannot print anything. Here is an example:

>>> print "Hello World"
  File "<stdin>", line 1
    print "Hello World"
                      ^
SyntaxError: invalid syntax
>>>

How do I fix this error?

+2  A: 

This threw me off too!

print("Hello World")

The changes were documented here: http://docs.python.org/release/3.0.1/whatsnew/3.0.html

gnucom
+5  A: 

Try this:

>>> print "Hello World!"
  File "<stdin>", line 1
    print "Hello World!"
SyntaxError: invalid syntax
>>> print("Hello World!")
Hello World!

Python 3.X changed how print works, and now requires parentheses around the arguments. Check out the python docs for more.

Zonda333
+1: Read the docs!
S.Lott
Of course the alternative is to install python 2.x - there are many more tutorials out there for the 2.x releases.
zdav
+3  A: 

if something's going wrong, you can always try to call for help:

>>> help(print)
Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout)

    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file: a file-like object (stream); defaults to the current sys.stdout.
    sep:  string inserted between values, default a space.
    end:  string appended after the last value, default a newline.

and there you might see, tha the syntax of that print thing is print(something)

funny is, that in python 2, you get just an error message:

>>> help(print)
SyntaxError: invalid syntax

it's because in python < 3, print function was not a function, but a keyword (just like e.g. for or or)

mykhal
In either version, you can do `help('print')`, though.
Matthew Flaschen
+2  A: 

If you are learning Python from a textbook that is telling you to type print "Hello World", I recommend installing the Python version mentioned in the textbook.

Tim McNamara