Hello World in Python on Mac OS X

Your First Program in Python on Mac OS X


This page tells you how to setup a Python programming environment for your Mac OS X computer and provides a step-by-step guide for creating and running a simple "Hello, world" Python program. All of the software is freely available on the Web. These instructions are for MacOS X 10.10 (Yosemite), but the instructions for other versions of Mac OS X are similar.



Overview

The Python programming environment required by this booksite consists of:

At the time of writing, some parts of the Pygame library still have not been ported to Python 3. So the instructions that follow are for Python 2, not Python 3.



Downloading and Installing Python, IDLE, Tkinter, NumPy, and Pygame

Python is bundled with Mac OS X. However, it is safer to download and install your own version of Python, and to use your own version exclusively when running programs associated with this booksite.

One straightforward way to download and install your own version of Python is by using MacPorts. As a bonus, when you install Python using MacPorts, you also automatically install the Python standard libraries and IDLE. Moreover, using MacPorts you easily can install Tkinkter, NumPy, and Pygame as well. Perform these instructions:

Perform these steps to test your installations:

IMPORTANT: When running the Python programs associated with this booksite, do not issue the python command. Instead issue the pythonX.Y (for example, python2.7) command. The former command runs the Python compiler/interpreter that is bundled with Mac OS X; the latter command runs the Python compiler/interpreter that you installed by following the instructons on this page.



Downloading and Installing the Booksite Library

Perform these steps to download and install the booksite library:

Perform these steps to test your installation of the booksite library:



Configuring IDLE

So far you've downloaded and installed all of the software that you'll need. You should perform one more step before creating your first program: configure the IDLE programming environment. Follow these instructions:



Composing Your First Program

Having installed Python, the Python standard libraries, IDLE, Tkinter, NumPy, Pygame, and the booksite libraries, and having configured IDLE, you are ready to compose your first Python program. Perform these instructions:



Running Your First Program

The final step is to run your program. It is possible to run some Python programs from within IDLE, but you should run the programs associated with this booksite directly from a Terminal window. To do that, perform these steps:

You now have installed and configured a reasonable Python environment, and have used it to compose and run a Python program. Congratulations! You are a Python programmer!



Downloading the Booksite Example Programs (optional)

We recommend that you download the booksite example programs, that is, the example Python programs that are presented incrementally throughout the booksite. Having done so, you can run those programs to help you learn about them. Perform these instructions:

Then perform these steps to test your download of the booksite example programs:



Downloading the Booksite Example Data (optional)

We recommend that you download the booksite example data, that is, the data files used by the booksite example programs that are presented incrementally throughout the booksite. Perform these instructions:



Downloading the Booksite Library: Part 2 (optional)

Previously on this page we described how to download and install the booksite library so Python can find it. Now we describe how to download the booksite library so you can find it — for the sake of studying the code that implements it, should you so desire. Perform these instructions:

We invite you to study the code that implements the booksite library. But don't be concerned if some of the code is cryptic. The code that implements the booksite library uses some features of Python that are beyond the scope of the textbook and this booksite.



Q & A

Q. The instructions describe how to download and install the required software using MacPorts. Can I instead use another package manager, such as Fink or Homebrew?

A. No. At the time of writing, Pygame is not available through Fink. Although Pygame is available through Homebrew, our attempts to install it using Homebrew have been unsuccessful.

Q. Why do I get the error ImportError: No module named stddraw when I issue the command python program_that_uses_stddraw.py?

A. You must issue the command python2.7 program_that_uses_stddraw.py, as described above.

Q. Can I use Python 3 instead of Python 2?

A. No. At the time of writing, some some parts of the Pygame library still have not been ported to Python 3. Moreover, Pygame for Python 3 is not available through MacPorts.

Q. I downloaded files using my browser, but can't find them. Where are they?

A. Many browsers by default place downloaded files in the directory /Users/yourusername/Downloads.

Q. How do I break out of an infinite loop when running my program from the Terminal application?

A. Type Ctrl-c. That is, while pressing the Ctrl key, type the c key.

Q. Must I use IDLE to create my Python programs? Can I use some other text editor?

A. You need not use IDLE to create your Python programs; it is fine to use some other text editor. For example, it is reasonable to use the TextEdit editor that is bundled with Mac OS X. However if you do use some other text editor, then make sure you change its settings so it (1) uses a four-space indentation scheme, and (2) indents using spaces instead of tabs. The Wikipedia Comparison of text editors page provides summary descriptions of many text editors.