the reason I am asking is because I have both the Python 2 and 3 interpreter installed on my computer, and so it is ambiguous, as both are run using the command "python".
To run Python 2 executable:
C:\> py -2
To run Python 3 executable:
C:\> py -3
where py
is a Python launcher that is bundled with your Python 3 installation.
py
recognizes the shebang (e.g., #!/usr/bin/env python3
causes Python 3 executable to be run), it respects virtualenv (if you run py
without specifying the explicit python executable version) i.e., run:
C:\> py your_script.py
and the correct python version is used automatically -- you don't need to specify the Python version on the command-line explicitly.
is there a particular reason why Python 3.x is not installed on Windows to run default with the command line "python3", like it does on Mac OSX and Linux?
OSX and Linux have python
executable installed by default as a rule and it refers to Python 2 version in most cases at the moment that is why you need a separate python3
name there.
There is no Python on Windows by default. And therefore any version that you've installed is just python
(I guess). The recommended way to manage multiple python versions is to use the Python launcher.
Is there some kind of way to configure Python so that it runs like this?
If you want to type python3 some_script.py
instead of py some_script.py
or even just some_script
(assuming .py
is in %PATHEXT%
and Python launcher is configured to run Python scripts (check assoc .py
and ftype Python.File
) -- the default) then create a bat-file e.g., python3.cmd
and put it in %PATH%
:
"C:\path to\Python 3.X\python.exe" %*