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
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
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.
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.
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 -
Properties
.Advanced System Settings
.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
.
See Python Launcher for Windows
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