How to switch between python 2.7 to python 3 from command line?
PythonWindowsCommand LineCmdPython Problem Overview
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?
Python Solutions
Solution 1 - Python
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
.
Solution 2 - Python
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,
Solution 3 - Python
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.
Solution 4 - 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
Solution 5 - Python
simply add both to the env variables and then you have to move the version you want to the top
Solution 6 - Python
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.
Solution 7 - Python
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 酪
Solution 8 - Python
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