JPC
JPC

Reputation: 5173

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

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?

Upvotes: 68

Views: 215477

Answers (8)

Kenn
Kenn

Reputation: 696

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 🤙

Upvotes: 0

MOHAMMED NABAWY
MOHAMMED NABAWY

Reputation: 231

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

Upvotes: 1

Mark Tolonen
Mark Tolonen

Reputation: 177640

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

Upvotes: 173

ehambright
ehambright

Reputation: 1593

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.

Upvotes: 0

Philip L
Philip L

Reputation: 359

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.

Upvotes: 4

Timothy Mugayi
Timothy Mugayi

Reputation: 1589

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

Upvotes: 2

ahmadore
ahmadore

Reputation: 13

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

Upvotes: -5

Sukrit Kalra
Sukrit Kalra

Reputation: 34493

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

Upvotes: 83

Related Questions