Long Int literal - Sintaxe inválida?

O livro de tutoriais do Python que estou usando está um pouco desatualizado, mas decidi continuar usando-o com a versão mais recente do Python para praticar a depuração. Às vezes, algumas coisas no código do livro que eu aprendi foram alteradas no Python atualizado, e não tenho certeza se esse é um deles.

Ao fixar um programa para que ele possa imprimir valores fatoriais mais longos, ele usa um int longo para resolver o problema. O código original é o seguinte:

#factorial.py
#   Program to compute the factorial of a number
#   Illustrates for loop with an accumulator

def main():
    n = input("Please enter a whole number: ")
    fact = 1
    for factor in range(int(n), 0, -1):
        fact = fact * factor

    print("The factorial of ", n, " is ", fact)

main()

A versão int longa é a seguinte:

#factorial.py
#   Program to compute the factorial of a number
#   Illustrates for loop with an accumulator

def main():
    n = input("Please enter a whole number: ")
    fact = 1L
    for factor in range(int(n), 0, -1):
        fact = fact * factor

    print("The factorial of ", n, " is ", fact)

main()

Mas a execução da versão int longa do programa no shell Python gera o seguinte erro:

>>> import factorial2
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    import factorial2
  File "C:\Python34\factorial2.py", line 7
    fact = 1L
            ^
SyntaxError: invalid syntax

questionAnswers(1)

yourAnswerToTheQuestion