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?
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 –
- Right Click on My Computer and go to
Properties
.
- Go to
Advanced System Settings
.
- Click on
Environment Variables
and edit PATH
and add the path to your Python 3 installation directory.
For example,
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
.
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
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
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.
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.
simply add both to the env variables and then you have to move the version you want to the top
Are you using Python version 3+?
- Go to your project path
- Run
py -[version_number_here]
and hit Enter
-> This will open the Python’s Terminal (sort of)
Happy Coding
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?
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 –
- Right Click on My Computer and go to
Properties
. - Go to
Advanced System Settings
. - Click on
Environment Variables
and editPATH
and add the path to your Python 3 installation directory.
For example,
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
.
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
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
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.
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.
simply add both to the env variables and then you have to move the version you want to the top
Are you using Python version 3+?
- Go to your project path
- Run
py -[version_number_here]
and hit Enter
-> This will open the Python’s Terminal (sort of)
Happy Coding