- Getting started¶
- And a Code Editor¶
- What is Python, exactly?¶
- Opening a console on Mac OS X¶
- Opening a console on Linux¶
- Opening a console on Windows¶
- Using Python¶
- Interacting With Python¶
- Exercise¶
- Solution¶
- 5. Using Python on a Mac¶
- 5.1. Getting and Installing MacPython¶
- 5.1.1. How to run a Python script¶
- 5.1.2. Running scripts with a GUI¶
- 5.1.3. Configuration¶
- 5.2. The IDE¶
- 5.3. Installing Additional Python Packages¶
- 5.4. GUI Programming on the Mac¶
- 5.5. Distributing Python Applications on the Mac¶
- 5.6. Other Resources¶
Getting started¶
If you haven’t yet got python, the latest official installation packages can be found here:
Python 3 is preferable, being the newest version out!
On Windows, you’ll want to add Python to your PATH, so it can be found by other programs. With Python 3.5 or later, there should be and option to do this in the installer. Otherwise, you can navigate to your installation directory ( C:\Python34\ ), open the Tools , then Scripts folder, and run the win_add2path.py file by double clicking on it.
And a Code Editor¶
A code editor helps with reading and writing programming code. There are many around, and it is one of the most personal choices a programmer can make — Like a tennis-player choosing their racket, or a chef choosing their favourite knife. To start off with, you’ll just want a basic, easy-to-use one that doesn’t get in your way, but is still effective at writing python code. Here are some suggestions for those:
- Atom: A new code editor available for Windows, Mac and Linux. It’s an open-source project developed by GitHub and is very easy to add functionality for, with its packages system.
- Sublime Text: A great all around editor that’s easy to use. It’s Ctl+B shortcut lets you run the python file you’re working on straight away. Runs on Windows, Mac and Linux.
- Geany: A simple editor that doesn’t aim to be too complicated. Available on Windows and Linux (you can probably find it in your package manager).
- TextMate: One of the most famous code editors for Mac, it used to be a paid product but has since been open-sourced.
- Gedit and Kate: if you run Linux using Gnome or KDE respectively, you might already have one of these two installed!
- Komodo Edit: a sleak, free editor for Mac, Windows and Linux, based on the more powerful Komodo IDE.
If you’d like our recommendation, try out Sublime Text first.
Wordpad, TextEdit, Notepad, and Word are not suitable code editors.
What is Python, exactly?¶
Ok, so python is this thing called a programming language. It takes text that you’ve written (usually referred to as code), turns it into instructions for your computer, and runs those instructions. We’ll be learning how to write code to do cool and useful stuff. No longer will you be bound to use others’ programs to do things with your computer — you can make your own!
Practically, Python is just another program on your computer. The first thing to learn is how to use and interact with it. There are in fact many ways to do this; the first one to learn is to interact with python’s interpreter, using your operating system’s (OS) console.
A console (or ‘terminal’, or ‘command prompt’) is a textual way to interact with your OS, just as the ‘desktop’, in conjunction with your mouse, is the graphical way to interact your system.
Opening a console on Mac OS X¶
OS X’s standard console is a program called Terminal. Open Terminal by navigating to Applications, then Utilities, then double-click the Terminal program. You can also easily search for it in the system search tool in the top right.
The command line Terminal is a tool for interacting with your computer. A window will open with a command line prompt message, something like this:
Opening a console on Linux¶
Different linux distributions (e.g Ubuntu, Fedora, Mint) may have different console programs, usually referred to as a terminal. The exact terminal you start up, and how, can depend on your distribution. On Ubuntu, you will likely want to open Gnome Terminal. It should present a prompt like this:
Opening a console on Windows¶
Window’s console is called the Command Prompt, named cmd. An easy way to get to it is by using the key combination Windows+R ( Windows meaning the windows logo button), which should open a Run dialog. Then type cmd and hit Enter or click Ok . You can also search for it from the start menu. It should look like:
Window’s Command Prompt is not quite as powerful as its counterparts on Linux and OS X, so you might like to start the Python Interpreter (see just below) directly, or using the IDLE program that Python comes with. You can find these in the Start menu.
Using Python¶
The python program that you have installed will by default act as something called an interpreter. An interpreter takes text commands and runs them as you enter them — very handy for trying things out.
Just type python at your console, hit Enter , and you should enter Python’s Interpreter.
To find out which version of python you’re running, instead type python -V in your console to tell you.
Interacting With Python¶
After Python opens, it will show you some contextual information similar to this:
Python 3.5.0 (default, Sep 20 2015, 11:28:25) [GCC 5.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
The prompt >>> on the last line indicates that you are now in an interactive Python interpeter session, also called the “Python shell”. This is different from the normal terminal command prompt!
You can now enter some code for python to run. Try:
Press Enter and see what happens. After showing the results, Python will bring you back to the interactive prompt, where you could enter another command:
>>> print("Hello world") Hello world >>> (1 + 4) * 2 10
An extremely useful command is help() , which enters a help functionality to explore all the stuff python lets you do, right from the interpreter. Press q to close the help window and return to the Python prompt.
To leave the interactive shell and go back to the console (the system shell), press Ctrl-Z and then Enter on Windows, or Ctrl-D on OS X or Linux. Alternatively, you could also run the python command exit() !
Exercise¶
Just above we demonstrated entering a command to figure out some math. Try some math commands of your own! What operations does python know? Get it to tell you what 239 and 588 added together, and then squared is.
Solution¶
Here are some ways you might have got the answer:
>>> 239 + 588 827 >>> 827 * 827 683929
>>> (239 + 588) * (239 + 588) 683929
5. Using Python on a Mac¶
Python on a Mac running macOS is in principle very similar to Python on any other Unix platform, but there are a number of additional features such as the IDE and the Package Manager that are worth pointing out.
5.1. Getting and Installing MacPython¶
macOS used to come with Python 2.7 pre-installed between versions 10.8 and 12.3. You are invited to install the most recent version of Python 3 from the Python website (https://www.python.org). A current “universal binary” build of Python, which runs natively on the Mac’s new Intel and legacy PPC CPU’s, is available there.
What you get after installing is a number of things:
- A Python 3.12 folder in your Applications folder. In here you find IDLE, the development environment that is a standard part of official Python distributions; and PythonLauncher, which handles double-clicking Python scripts from the Finder.
- A framework /Library/Frameworks/Python.framework , which includes the Python executable and libraries. The installer adds this location to your shell path. To uninstall MacPython, you can simply remove these three things. A symlink to the Python executable is placed in /usr/local/bin/.
The Apple-provided build of Python is installed in /System/Library/Frameworks/Python.framework and /usr/bin/python , respectively. You should never modify or delete these, as they are Apple-controlled and are used by Apple- or third-party software. Remember that if you choose to install a newer Python version from python.org, you will have two different but functional Python installations on your computer, so it will be important that your paths and usages are consistent with what you want to do.
IDLE includes a help menu that allows you to access Python documentation. If you are completely new to Python you should start reading the tutorial introduction in that document.
If you are familiar with Python on other Unix platforms you should read the section on running Python scripts from the Unix shell.
5.1.1. How to run a Python script¶
Your best way to get started with Python on macOS is through the IDLE integrated development environment, see section The IDE and use the Help menu when the IDE is running.
If you want to run Python scripts from the Terminal window command line or from the Finder you first need an editor to create your script. macOS comes with a number of standard Unix command line editors, vim and emacs among them. If you want a more Mac-like editor, BBEdit or TextWrangler from Bare Bones Software (see http://www.barebones.com/products/bbedit/index.html) are good choices, as is TextMate (see https://macromates.com/). Other editors include Gvim (https://macvim.org/macvim/) and Aquamacs (http://aquamacs.org/).
To run your script from the Terminal window you must make sure that /usr/local/bin is in your shell search path.
To run your script from the Finder you have two options:
- Drag it to PythonLauncher
- Select PythonLauncher as the default application to open your script (or any .py script) through the finder Info window and double-click it. PythonLauncher has various preferences to control how your script is launched. Option-dragging allows you to change these for one invocation, or use its Preferences menu to change things globally.
5.1.2. Running scripts with a GUI¶
With older versions of Python, there is one macOS quirk that you need to be aware of: programs that talk to the Aqua window manager (in other words, anything that has a GUI) need to be run in a special way. Use pythonw instead of python to start such scripts.
With Python 3.9, you can use either python or pythonw.
5.1.3. Configuration¶
Python on macOS honors all standard Unix environment variables such as PYTHONPATH , but setting these variables for programs started from the Finder is non-standard as the Finder does not read your .profile or .cshrc at startup. You need to create a file ~/.MacOSX/environment.plist . See Apple’s Technical Document QA1067 for details.
For more information on installation Python packages in MacPython, see section Installing Additional Python Packages .
5.2. The IDE¶
MacPython ships with the standard IDLE development environment. A good introduction to using IDLE can be found at http://www.hashcollision.org/hkn/python/idle_intro/index.html.
5.3. Installing Additional Python Packages¶
There are several methods to install additional Python packages:
- Packages can be installed via the standard Python distutils mode ( python setup.py install ).
- Many packages can also be installed via the setuptools extension or pip wrapper, see https://pip.pypa.io/.
5.4. GUI Programming on the Mac¶
There are several options for building GUI applications on the Mac with Python.
PyObjC is a Python binding to Apple’s Objective-C/Cocoa framework, which is the foundation of most modern Mac development. Information on PyObjC is available from https://pypi.org/project/pyobjc/.
The standard Python GUI toolkit is tkinter , based on the cross-platform Tk toolkit (https://www.tcl.tk). An Aqua-native version of Tk is bundled with OS X by Apple, and the latest version can be downloaded and installed from https://www.activestate.com; it can also be built from source.
wxPython is another popular cross-platform GUI toolkit that runs natively on macOS. Packages and documentation are available from https://www.wxpython.org.
PyQt is another popular cross-platform GUI toolkit that runs natively on macOS. More information can be found at https://riverbankcomputing.com/software/pyqt/intro.
5.5. Distributing Python Applications on the Mac¶
The standard tool for deploying standalone Python applications on the Mac is py2app. More information on installing and using py2app can be found at https://pypi.org/project/py2app/.
5.6. Other Resources¶
The MacPython mailing list is an excellent support resource for Python users and developers on the Mac:
Another useful resource is the MacPython wiki: