I have a MacBook air and have tried opening Python in terminal but when I open it, it opens Python interactive mode. Does anyone know how to open Python script mode please.
I’ve tried typing in things such as Python or Python 3 like safari suggests but that didn’t work.
CodePudding user response:
There is no 'script mode'. You can create a Python script using TextEdit or another editor, save it as myfile.py
, and then run it with python myfile.py
.
CodePudding user response:
for running what you are calling 'script version' of python you should choose a python file to run and make sure is written in the same or in a compatible version to the python you are running it with (python2, python3)
For running an example script:
python main.py
You need to be in the directory containing the file so make sure you are there before running the command. Using python runs the first version of python you installed, so if you want to use an other you should use:
python2 main.py
python3 main.py
etc
CodePudding user response:
Assuming you've stored your script in a file named itworks.py
, the simplest thing is to type the command python3 itworks.py
in a terminal window after you've moved to the directory containing the script. Alternatively, you can type python3
followed by a space, then locate your python script in the Finder and drag and drop it into the terminal. This will expand to the full path to the file, allowing you to run a script located elsewhere than your current directory. Don't forget to press return
...
In older versions of MacOS you could say python
, but that uses python 2 which is no longer supported so you should go with python3
for any new development. (With MacOS Ventura, python 2 seems to have been removed.)
If you have multiple versions of python, you can use the command which -a python3
(or python
) to see all versions on your PATH
, and the order in which they will be found. PATH
works on a first-come-first-served basis, but you can override by using the fully qualified path name to an alternative python.
Yet another solution, for when you want a more permanent script you will use many times in the future, is to use a "shebang" line as the first line of your script. For example, I wrote the following tiny demo:
#!/usr/bin/env python3
print('It works!')
The first line says to parse this script with the first python3 interpreter found in your current environment's PATH
. You could replace that with an explicit path such as #!/opt/homebrew/bin/python3
. Now make the script executable: chmod a x itworks.py
. You can now run the script from the current directory by typing ./itworks.py
. (The leading ./
tells your shell you know it's in the current directory, and is intended as protection against trojan horse scripts.) If you want to be able to use the now-executable script from anywhere, add it to a directory on your path such as /usr/local/bin
, and you'll be able to run it by just typing itworks.py
.