cpython-withatomic / Mac / ReadMeOrSuffer

How to install Python 1.4 on your Macintosh

Even if you don't usually read readme files: please read at least the
first sections of this file, failure to do so will probably result in
an unuseable python system. If this warning is too late and you already
have an non-functional python: it is best to remove all traces and start
with a fresh distribution. Especially don't forget to remove the
"python 1.4 preferences" file from the Preferences folder, and possibly
"PythonCorePPC 1.4" and/or "PythonCoreCFM68K 1.4"
from the Extensions folder. Before you mail me for help *please*
try the steps above (cleaning up and re-installing): it should fix most
common mistakes. If you are installing a CFM68K python also check that
your installation of CFM68K was done correctly.

If this is your first encounter with Python: you definitely need the common
user documentation (common to all platforms). You can find this (in various
forms) on and

Mac-specific documentation is included in this distribution in folder Mac:Demo.
The documentation is sparse, but it will have to serve for now. The documentation
is in HTML format, start with index.html.

If you have a pre-system 7 macintosh: sorry, this release will not work
on your system. Too many sys7 features are used to make a sys6 python
easy to create. If you really want one: tell me, maybe I can be convinced.
Alternatively: get the sources, put in the necessary gestalt() and
compatability calls yourself and send me the results.

If you don't have enough memory: the sizes choosen are somewhat arbitrary.
Try lowering them and seeing whether the resulting python is still usable.
Note, however, that python running out of memory may result in your mac
freezing. If this happens I would like to hear of it.

Note that if you're using Tk you might want to raise the memory size, tcl
and tk are quite a memory hog.

A final note to CFM68K (and possibly PPC) users: the Code Fragment Manager
can (incorrectly) produce "library not found" and other strange error messages
when it really means that there is not enough room in the system heap. Decreasing
(yes, *de*creasing) the size of the interpreter and/or enabling virtual memory
may solve these problems.

PowerPC and CFM68K Macintosh instructions

For CFM68K you need a Mac with a 68020, 68030 or 68040, and at least System 7.1.1.
CFM68K Python will not run on PowerPC Macs. Before installing Python you
should install CFM68K. Put everything from the "CFM68K for System Folder" into the
Extensions folder and restart.

Run the MkPluginAliases applet. This will create an initial preferences file. 
Next, it will create a number of aliases in the PlugIns folder. Finally
it will put an alias to your PythonCore in the Extensions folder. The whole
process should be independent of any previous releases of Python on your disk
(and these releases should still continue working).
For all these things to work correctly it is vital that you don't move anything
around before running MkPluginAliases. After you have set things up you may
move things around to your hearts' desire.

Classic 68K Macintosh instructions

Run Python68K. This will create an initial preferences file. Quit python.

Common instructions

You should now have a functioning python. It is probably a good idea to run
"" from :Lib:test at this point, this should not give any errors.
Running is done by double-clicking it or dropping it onto the
Next, try "" from :Lib to create all .pyc files (but this isn't
really important).

PPC and CFM68K users have a couple of applets in the main folder they may want to try,
(68K users can use the corresponding scripts from the "scripts" folder):

- EditPythonPrefs allows you to edit the preferences file, to change the
  python home folder or modify the initial sys.path setting.
  The default settings are somewhat arbitrary, you can remove tkinter if
  you don't use it and possibly add Extensions:img:Lib.
- mkapplet creates a python applet, a tiny application written
  in python. Drop a python source on it and out comes the application. More
  information can be found in the "Mac:Demo" folder.
PPC and CFM68K users will see one more files in the python folder: PythonApplet. This is
the template for building applets, leave it alone. For the 1.4b3 release the applet is
specific for your installation, i.e. PPC applets will not run on CFM68K machines and vice
versa. I hope to fix this soon.

Things to see

There are some readme files in the "Read me files" folder that may contain
useful information. There is also a first stab at documentation (plus examples)
in the Mac:Demo folder. The toplevel Demo folder has machine-independent demos.
See the file Readme-mac for mac-specific notes. The Mac:Lib:test folder also
has some programs that show simple capabilities of various modules.

The "scripts" folder has some sample scripts. Some are useful, some are just
interesting to look at to see how various things work. The MkDistr, mkapplet
and fullbuild scripts (plus the ones mentioned above) may help you to understand
how to use AppleEvents and various other toolboxes from python.

The 'img' group of modules, which handles I/O of many different image formats
(not pict yet, sigh:-) is included, but without documentation. You can find
docs at (or somewhere around there).

Upgrading from older Python releases

Since release 1.4 Python releases are independent of each other, with separate
Preferences files, shared library names, etc. The good news is that this means you
can keep your older version around if you are unsure whether to upgrade. The bad
news is that your old preference settings are lost and you have to set them again.

After you are satisfied that 1.4 works as expected you can trash anything in the
system folder that has "python" in the name and not "1.4".


Send bug reports, suggestions, contributions and fanmail to <>.
Be warned however that I'm pretty busy, so I may not always
respond immedeately.

A better way to discuss MacPython is to join the <>
mailing list, which is explicitly meant for this purpose.

Alternatively, you can try sending to comp.lang.python or,
but since I read the newsgroup, not the mailinglist, I may miss it there
(but other people may know quite a bit more than me anyway:-).

				Jack Jansen
				Centrum voor Wiskunde en Informatica
				Kruislaan 413
				1098 SJ  Amsterdam
				the Netherlands