8/15/2021»»Sunday

Python For Mac Idle

8/15/2021

If you are using Python from a python.org 64-bit/32-bit Python installer for Mac OS X 10.6 and later, you should only use IDLE or tkinter with an updated third-party Tcl/Tk 8.5, like ActiveTcl 8.5 installed. If you are using OS X 10.9 Mavericks and a Python from a python.org 64-bit/32-bit installer, application windows may not update properly due to a Tk problem. The story behind the name IDLE is similar to Python. Guido Van Rossum named Python after the British comedy group Monty Python while the name IDLE was chosen to pay tribute to Eric Idle, who was one of the Monty Python's founding members. IDLE comes bundled with the default implementation of the Python language since the 01.5.2b1 release. Jun 08, 2015 A tribute to Eric Idle. Source: Make Little Sharks on flickr. Its worth spending a bit of time describing how to use IDLE. To most, this may not be immediately obvious. Launch IDLE shell window. To start, we need to open the python shell window. This is the first window you see when you launch the IDLE application.

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.13 (High Sierra), but the instructions for other recent versions of Mac OS X are similar.


Overview

The Python programming environment required by this booksite consists of:

  • Python, that is, the Python compiler/interpreter.
  • The Python standard libraries.
  • IDLE, the Python Integrated DeveLopment Environment.
  • The Tkinter, NumPy, and Pygame libraries, which are used by the booksite programs that do graphics or audio processing.
  • The booksite library, that is, a set of modules that we developed specifically to support this booksite.
  • The Terminal application that is bundled with Mac OS X.

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

Note: The Mac Finder application uses the term folder to mean a container of documents and, perhaps, other folders. This document instead uses the equivalent Unix term directory.

In the stock Mac OS X python installation, idle is found in /usr/bin, which is not (easily) accessible from Finder and not indexed by Spotlight. The quickest option is to open the Terminal utility and type 'idle. Eclipse is an extensible development platform with runtimes and application frameworks.

Python 2 is bundled with Mac OS X. However, Python 3 is not. We recommend that you download and install Python 3, and use Python 3 exclusively when running programs associated with this booksite.

Perform these steps to download and install Python, IDLE, Tkinter, NumPy, and PyGame:

  • Browse to the Python for Mac download page.

  • In the resulting page click on the Download Python 3.6.5 button. Your browser will download the file python-3.6.5-macosx10.6.pkg to your Downloads directory.

  • Using Mac Finder Manager, navigate to your Downloads directory, and double-click on the python-3.6.5-macosx10.6.pkg file to install Python, Tkinter, and IDLE. Use the default options. (It's OK to delete the python-3.6.5-macosx10.6.pkg file after the installation is complete.)

  • Open a Terminal window. To do that, click on the Spotlight Search icon on the right end of the menu bar. (It has the appearance of a magnifying glass.) In the resulting dialog box, type Terminal.app followed by the Enter key.

  • In the Terminal window issue these commands to install NumPy and PyGame:

To 'issue a command' you should type the command followed by the Enter key.

Perform these steps to test your installation:

  • In the Terminal window issue the python3 command. You should see something like this:

  • If you see that output, then your installation of Python, IDLE, and Tkinter was successful.

  • At the Python >>> prompt, type import numpy followed by the Enter key. If no error messages appear, then your installation of NumPy was successful.

  • At the Python >>> prompt, type import pygame followed by the Enter key. If no error messages appear, then your installation of PyGame was successful.

  • At the Python >>> prompt, type exit() followed by the Enter key to exit Python.

  • In the Terminal window issue the command idle3. If an IDLE window appears, then you have installed IDLE properly. Close the IDLE window.
  • Close the Command Prompt window.

IMPORTANT: When running the Python programs associated with this booksite, do not issue the python command. Instead issue the python3 command. The former command runs the Python 2 compiler/interpreter that is bundled with Mac OS X; the latter command runs the Python 3 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:

  • Use your Web browser to download this introcs-1.0.zip file to your /Users/yourusername/Downloads directory.

  • In the Finder, double click on /Users/yourusername/Downloads/introcs-1.0.zip to unzip the file, thus creating a directory named /Users/yourusername/Downloads/introcs-1.0. (It's OK to delete the /Users/yourusername/Downloads/introcs-1.0.zip file after you have unzipped it.)

  • Open a Terminal window.

  • At any time the Terminal application has a working directory. Initially the working directory is /Users/yourusername. In the Terminal window issue the cd Downloads command to change your working directory to /Users/yourusername/Downloads, and then issue the cd introcs-1.0 command to change your working directory to /Users/yourusername/Downloads/introcs-1.0. (Incidentally, the cd . command changes your working directory to the 'parent' of the current working directory.)

  • Issue the ls command to display the names of all files in your working directory. Make sure that a file named setup.py is in your working directory.

  • Issue the python3 setup.py install --user command. The computer copies the files defining the booksite modules to a directory where Python can find them, and writes status messages to your Terminal window to indicate its progress.

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

  • In the Terminal window issue the python3 command.

  • At the Python >>> prompt, type the statement import stdio followed by the Enter key. If Python generates no error messages, then you have installed the booksite library properly.

  • At the Python >>> prompt, type exit() followed by the Enter key to exit Python.

  • Close the Terminal window.


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:

  • Open a Terminal window.

  • In the Terminal window issue the command idle3 to launch IDLE.

  • Click on the Python → Preferences.. menu item.

  • Click on the General tab.

  • Click on the Open Edit Window radio button.

  • Click on the Ok button.

  • Close the IDLE window.

  • Close the Terminal window.


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:

  • Using the Mac Finder, create a directory named /Users/yourusername/hello.

  • Open a Terminal window.

  • Issue the cd hello command to make the /Users/yourusername/hello directory your working directory.

  • Issue the command idle3 & to launch IDLE. Note the trailing ampersand. The trailing ampersand tells the computer to run the idle3 program in the background, thereby leaving your Terminal application free to handle additional commands while IDLE is running.

  • In IDLE, type the four-line Python program helloworld.py exactly as it appears below. Use the arrow keys, mouse, or touchpad to move within the text that you have typed. Use the Delete key to delete text. Be careful; the smallest typing mistake might cause the program to fail.

  • When you are finished typing, in IDLE click on the File → Save.. menu item to save the Python program. Save it in a file named helloworld.py in the directory /Users/yourusername/hello. The file name is case sensitive, so make sure you use all lowercase letters.


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:

  • Within the same Terminal window, issue the ls command to display the names of all files in the working directory. Confirm that the working directory contains your helloworld.py file.

  • Issue the python3 helloworld.py command to run your program. If the computer writes 'Hello, World' to the Terminal window, then the execution of your helloworld.py program was successful. If the computer instead writes error messages, then use IDLE to correct your program, and issue the python3 helloworld.py command again. Repeat until your program runs successfully. If your program runs successfully the first time you try, then intentionally introduce an error into your program, just so you get some experience with correcting errors.

  • Close the IDLE window.

  • Close the Terminal window.

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:

  • Use your Web browser to download this introcs-python.zip file to your /Users/yourusername/Downloads directory.

  • In the Mac Finder, double-click on /Users/yourusername/Downloads/introcs-python.zip to unzip the file, thus creating the /Users/yourusername/Downloads/introcs-python directory containing the booksite example programs. (It's OK to delete the /Users/yourusername/Downloads/introcs-python.zip file after you have unzipped it.)

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

  • Open a Terminal window.

  • Issue the cd Downloads and cd introcs-python commands to make /Users/yourusername/Downloads/introcs-python your working directory.

  • Issue the ls command. Confirm that the working directory contains a file named bouncingball.py.

  • Issue the python3 bouncingball.py command. If Python launches a stddraw window showing an animated bouncing ball, then your download of the booksite example programs was successful.

  • Close the stddraw window.

  • Close the Terminal window.


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:

  • Use your Web browser to download this introcs-data.zip file to your /Users/yourusername/Downloads directory.

  • In the Finder, double-click on /Users/yourusername/Downloads/introcs-data.zip to unzip the file, thus creating the /Users/yourusername/Downloads/introcs-data directory containing the booksite example data files. (It's OK to delete the /Users/yourusername/Downloads/introcs-data.zip file after you have unzipped it.)


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:

  • Use your Web browser to download this stdlib-python.zip file to your /Users/yourusername/Downloads directory.

  • In the Mac Finder, double-click on /Users/yourusername/Downloads/stdlib-python.zip to unzip the file, thus creating the /Users/yourusername/Downloads/stdlib-python directory containing the booksite library. (It's OK to delete the /Users/yourusername/Downloads/stdlib-python.zip file after you have unzipped it.)

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. Why do I get the error ImportError: No module named stdio when I issue the command python program_that_uses_stdio.py?

A. You must issue the command python3 program_that_uses_stdio.py, as described above.

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.

Author

Bob Savage <bobsavage@mac.com>

Python on a Macintosh running Mac OS X is in principle very similar to Python onany other Unix platform, but there are a number of additional features such asthe IDE and the Package Manager that are worth pointing out.

4.1. Getting and Installing MacPython¶

Mac OS X 10.8 comes with Python 2.7 pre-installed by Apple. If you wish, youare invited to install the most recent version of Python 3 from the Pythonwebsite (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 availablethere.

What you get after installing is a number of things:

  • A Python3.9 folder in your Applications folder. In hereyou find IDLE, the development environment that is a standard part of officialPython distributions; and PythonLauncher, which handles double-clicking Pythonscripts from the Finder.

  • A framework /Library/Frameworks/Python.framework, which includes thePython executable and libraries. The installer adds this location to your shellpath. To uninstall MacPython, you can simply remove these three things. Asymlink 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 areApple-controlled and are used by Apple- or third-party software. Remember thatif you choose to install a newer Python version from python.org, you will havetwo different but functional Python installations on your computer, so it willbe 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 youare completely new to Python you should start reading the tutorial introductionin that document.

If you are familiar with Python on other Unix platforms you should read thesection on running Python scripts from the Unix shell.

4.1.1. How to run a Python script¶

Your best way to get started with Python on Mac OS X is through the IDLEintegrated development environment, see section The IDE and use the Help menuwhen the IDE is running.

If you want to run Python scripts from the Terminal window command line or fromthe Finder you first need an editor to create your script. Mac OS X comes with anumber of standard Unix command line editors, vim andemacs among them. If you want a more Mac-like editor,BBEdit or TextWrangler from Bare Bones Software (seehttp://www.barebones.com/products/bbedit/index.html) are good choices, as isTextMate (see https://macromates.com/). Other editors includeGvim (http://macvim-dev.github.io/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.

Python For Mac Idle Bot

To run your script from the Finder you have two options:

  • Drag it to PythonLauncher

  • Select PythonLauncher as the default application to open yourscript (or any .py script) through the finder Info window and double-click it.PythonLauncher has various preferences to control how your script islaunched. Option-dragging allows you to change these for one invocation, or useits Preferences menu to change things globally.

4.1.2. Running scripts with a GUI¶

With older versions of Python, there is one Mac OS X quirk that you need to beaware 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 pythonwinstead of python to start such scripts.

With Python 3.9, you can use either python or pythonw.

4.1.3. Configuration¶

Python on OS X honors all standard Unix environment variables such asPYTHONPATH, but setting these variables for programs started from theFinder 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 fordetails.

For more information on installation Python packages in MacPython, see sectionInstalling Additional Python Packages.

4.2. The IDE¶

MacPython ships with the standard IDLE development environment. A goodintroduction to using IDLE can be found athttp://www.hashcollision.org/hkn/python/idle_intro/index.html.

4.3. Installing Additional Python Packages¶

There are several methods to install additional Python packages:

Python For Mac Idle Control System

  • Packages can be installed via the standard Python distutils mode (pythonsetup.pyinstall).

  • Many packages can also be installed via the setuptools extensionor pip wrapper, see https://pip.pypa.io/.

4.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 isthe foundation of most modern Mac development. Information on PyObjC isavailable from https://pypi.org/project/pyobjc/.

The standard Python GUI toolkit is tkinter, based on the cross-platformTk toolkit (https://www.tcl.tk). An Aqua-native version of Tk is bundled with OSX by Apple, and the latest version can be downloaded and installed fromhttps://www.activestate.com; it can also be built from source.

wxPython is another popular cross-platform GUI toolkit that runs natively onMac OS X. Packages and documentation are available from https://www.wxpython.org.

PyQt is another popular cross-platform GUI toolkit that runs natively on MacOS X. More information can be found athttps://riverbankcomputing.com/software/pyqt/intro.

Savefrom for mac os versions. Click on it, to begin the installation;.

4.5. Distributing Python Applications on the Mac¶

The standard tool for deploying standalone Python applications on the Mac ispy2app. More information on installing and using py2app can be foundat http://undefined.org/python/#py2app.

4.6. Other Resources¶

The MacPython mailing list is an excellent support resource for Python users anddevelopers on the Mac:

Python Idle Mac Shortcuts

Install

Python Installing Idle

Another useful resource is the MacPython wiki: