How to switch between python 2.7 to python 3 from command line?

Question:

I’m trying to find the best way to switch between the two python compilers, 2.7 to 3.3.
I ran the python script from the cmd like this:

python ex1.py

Where do I set the “python” environment in the window’s environment variable to point to either python 3.3 or 2.7?

I am wondering if there is an easy way to switch between the two versions from the cmd line?

Asked By: JPC

||

Answers:

For Windows 7, I just rename the python.exe from the Python 3 folder to python3.exe and add the path into the environment variables. Using that, I can execute python test_script.py and the script runs with Python 2.7 and when I do python3 test_script.py, it runs the script in Python 3.

To add Python 3 to the environment variables, follow these steps –

  1. Right Click on My Computer and go to Properties.
  2. Go to Advanced System Settings.
  3. Click on Environment Variables and edit PATH and add the path to your Python 3 installation directory.

For example,

enter image description here

Answered By: Sukrit Kalra

No need for "tricks". Python 3.3 comes with PyLauncher "py.exe", installs it in the path, and registers it as the ".py" extension handler. With it, a special comment at the top of a script tells the launcher which version of Python to run:

#!python2
print "hello"

Or

#!python3
print("hello")

From the command line:

py -3 hello.py

Or

py -2 hello.py

py hello.py by itself will choose the latest Python installed, or consult the PY_PYTHON environment variable, e.g. set PY_PYTHON=3.6.

See Python Launcher for Windows

Answered By: Mark Tolonen

You can try to rename the python executable in the python3 folder to python3, that is if it was named python formally… it worked for me

Answered By: ahmadore

They are 3 ways you can achieve this using the py command (py-launcher) in python 3, virtual environment or configuring your default python system path. For illustration purpose, you may see tutorial https://www.youtube.com/watch?v=ynDlb0n27cw&t=38s

Answered By: Timothy Mugayi

In case you have both python 2 and 3 in your path, you can move up the Python27 folder in your path, so it search and executes python 2 first.

Answered By: Philip L

There is an easier way than all of the above; You can use the PY_PYTHON environment variable.
From inside the cmd.exe shell;

For the latest version of Python 2

set PY_PYTHON=2

For the latest version of Python 3

set PY_PYTHON=3

If you want it to be permanent, set it in the control panel. Or use setx instead of set in the cmd.exe shell.

Answered By: ehambright

simply add both to the env variables and then you have to move the version you want to the top

Answered By: MOHAMMED NABAWY

Are you using Python version 3+?

  1. Go to your project path
  2. Run py -[version_number_here] and hit Enter
    -> This will open the Python’s Terminal (sort of)

Happy Coding

Answered By: Kenn
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.