py' works but not 'python' in command prompt for windows 10
py
is itself located in C:\Windows
(which is always part of the PATH
), which is why you find it. When you installed Python, you didn't check the box to add it to your PATH
, which is why it isn't there. In general, it's best to use the Windows Python Launcher, py.exe
anyway, so this is no big deal. Just use py
for launching consistently, and stuff will just work. Similarly, if py.exe
was associated with the .py
extension at installation time, a standard shebang line (details in PEP linked above) will let you run the script without even typing py
.
I don't know precisely what VSCode uses to find Python (using py.exe
directly, using a copy of Python that ships with the editor, performing registry lookup, a config file that just says where to find it, etc.), but that's not really relevant to running your scripts yourself.
“./file.py” VS “python file.py”
on linux-based operating systems, when you execute a text file, if it starts with #!/bin/python (shebang syntax), it will actually do /bin/python filename, so it is faster to do this than having to type python all the time, it is easier to make it an executable file, but there are no major differences
What is the difference between - and -- in python, linux and in windows cmd?
Python is a programming language. Linux is an operating system kernel.
My guess is that by "in Linux" you mean using a command shell like bash
. Yes, the language that bash
processes might reasonably be called a "language." The command shell in Microsoft Windows is cmd
.
If bash
is what you mean, then Python and bash are two different languages; in the same way that Python, bash, Java, PHP, C++, and others are all different languages. Each may have its own meaning for the use of -
and --
.
It is always important to read the documentation. It is common practice at this time for executable programs to have command line options using -
for single letter options and --
for long name options. When using bash
, see the output of ls --help
to see the short (single letter) and long options. -a
and --all
are equivalent.
Most programs from Microsoft to be run in the cmd
shell, and those designed for it, typically use /
to specify options. See DIR /?
for a list of options that can be used with the DIR
command.
PowerShell uses -
like bash
to indicate options. However, the options can be long names. In a PowerShell console, use the command help Get-ChildItem -ShowWindow
to see the options (called parameters) that can be used with the Get-ChildItem
command.
When in doubt, read the doc.
In CMD python starts Python 3.3, py starts Python 2.7, how do I change this?
py
is the Windows Python launcher, and it can start any Python version.
On most systems py
is configured to launch Python 2.7 by default if present (this is the default except for Python 3.6 and newer, where Python 3 will be run instead). You have two options if you want to change that:
Set an environment variable;
PY_PYTHON=3
will makepy
run the latest Python 3 interpreter instead.Create a file
py.ini
in your application directory with the contents:
This has the same effect as the[defaults]
python=3PY_PYTHON
environment variable. Typically, your application directory is found inC:\Documents and Settings\[username]\Application Data
orC:\Users\[username]\AppData\Local\py.ini
, depending on the Windows version.
#!
shebang line to your scripts (first line) to tell the launcher to use Python 3 when you doubleclick such a file:#! python3
py
can also be configured to use specific Python versions when you have multiple Python 3 interpreters installed. how to access python from command line using py instead of python
py
command comes with Python3.x and allows you to choose among multiple Python interpreters. For example, if you have both Python 3.4 and 2.7 installed, py -2
will start python2.7, and py -3
will start python3.4. If you just use py
it will start the one that was defined as default.
So the official way would be to install Python 3.x, declare Python 2.7 as the default, and the py
command will do its job.
But if you just want py
to be an alias of python
, doskey py=python.exe
as proposed by @Nizil and @ergonaut will be much simpler... Or copying python.exe to py.exe in Python27 folder if you do not want to be bothered by the limitations of doskey
.
Difference Between Python's IDLE and its command line
They are both the same thing but, IDLE is made to write python code so its better if you can to write on IDLE. You can also try Notepad++ its a pretty good program to write code on.
Run python.exe with Windows Terminal instead of Command Prompt
Yes, there is a way to do this.
Just use this command:
powershell.exe "C:\Python39\python.exe C:\PATH\TO\PyScript.py"
Related Topics
How to Log a Python Error with Debug Information
Using "And" and "Or" Operator with Python Strings
Subclassing Python Dictionary to Override _Setitem_
What Are All the Dtypes That Pandas Recognizes
Why Does Python Use 'Magic Methods'
How to Get Tweets Older Than a Week (Using Tweepy or Other Python Libraries)
Why Python Has Limit for Count of File Handles
How to Restrict Foreign Keys Choices to Related Objects Only in Django
How to Convert Datetime.Timedelta to Minutes, Hours in Python
Overflowerror: (34, 'Result Too Large')
Understanding the Python with Statement and Context Managers
Should All Python Classes Extend Object
How to Flatten a Pandas Dataframe with Some Columns as JSON
How to Build a Systemtray App for Windows
Multiprocessing.Pool Makes Numpy Matrix Multiplication Slower
Pairwise Crossproduct in Python
Can't Use '\1' Backreference to Capture-Group in a Function Call in Re.Sub() Repr Expression
Why Use Sys.Path.Append(Path) Instead of Sys.Path.Insert(1, Path)