Although the original question specifically asked about a NameError, the same problem is the cause of SyntaxErrors that result from trying to input, for example, a blank line or really anything that can't be understood as a Python expression. This problem commonly occurs because a 2.x version...
I don't know Mark Pilgrim personally. I only know his work and it's excellent. I knew of him first from his Dive Into Accessibility almost a decade ago and later from his other "Dive Into" books that educated a young generation on Python, and most recently HTML 5. Mark is alive,...