Warm tip: This article is reproduced from serverfault.com, please click

python3 --version shows "NameError: name 'python3' is not defined"

发布于 2016-03-07 14:04:30

When we type

python3 --version (or --V)

it is supposed to show us the version of the python right?

However, when I do this I get the following error:

NameError: name 'python3' is not defined

This is also the case when I tried to install the pip by using

>>> python3 get-pip.py
  File "<stdin>", line 1
    python3 get-pip.py
              ^
SyntaxError: invalid syntax
Questioner
Adrian Prayoga
Viewed
11
2020-01-24 05:16:44

python3 is not Python syntax, it is the Python binary itself, the thing you run to get to the interactive interpreter.

You are confusing the command line with the Python prompt. Open a console (Windows) or terminal (Linux, Mac), the same place you'd use dir or ls to explore your filesystem from the command line.

If you are typing at a >>> or In [number]: prompt you are in the wrong place, that's the Python interpreter itself and it only takes Python syntax. If you started the Python prompt from a command line, exit at this point and go back to the command line. If you started the interpreter from IDLE or in an IDE, then you need to open a terminal or console as a separate program.

Other programs that people often confuse for Python syntax; each of these is actually a program to run in your command prompt:

  • python, python2.7, python3.5, etc.
  • pip or pip3
  • virtualenv
  • ipython
  • easy_install
  • django-admin
  • conda
  • flask
  • scrapy
  • setup.py -- this is a script you need to run with python setup.py [...].
  • Any of the above together with sudo.

with many more variations possible depending on what tools and libraries you have installed and what you are trying to do.

If given arguments, you'll get a SyntaxError exception instead, but the underlying cause is the same:

>>> pip install foobar
  File "<stdin>", line 1
    pip install foobar
              ^
SyntaxError: invalid syntax