blob: adf62142814dd9bb7565fc323b0f2c48efecb99c [file] [log] [blame]
Jack Jansenc1218bc2001-04-25 22:11:24 +00001How to install Python 2.1 on your Macintosh
2-------------------------------------------
Jack Jansen2f9a9e32001-02-17 22:03:42 +00003
Jack Jansenc1218bc2001-04-25 22:11:24 +00004This is a MacPython that can run on classic MacOS (from 8.1
Jack Jansencbe7b1c2001-03-06 22:42:12 +00005onwards) and natively on MacOSX. The installer tries to work out whether you can
6use the Carbon version or not. This is also the first MacPython distribution
7to be packaged as an active installer, which only downloads the parts you actually
8need. Let me hear about problems in these areas.
Jack Jansen2f9a9e32001-02-17 22:03:42 +00009
10You should definitely read the Relnotes file too.
11
Jack Jansenc1218bc2001-04-25 22:11:24 +000012A special note about the active installer: do not background it, it may hang
Jack Jansen2b73fe92001-03-27 21:38:55 +000013your machine. This is a general problem with Vise active installers, MindVision
14are working on it.
Jack Jansen8ef786e2001-03-15 14:27:09 +000015
Jack Jansenc1218bc2001-04-25 22:11:24 +000016If you installed a 2.1 beta on MacOSX you MUST read the uninstall section below.
17
Jack Jansen2f9a9e32001-02-17 22:03:42 +000018------
Jack Jansen83cab721997-08-26 13:25:06 +000019
20If this is your first encounter with Python: you definitely need the
21common user documentation (common to all platforms). You can find this
Jack Jansen538bd132000-10-19 21:58:27 +000022(in various forms) on www.pythonlabs.com, www.python.org and
23ftp.python.org. Through there, or via
24http://www.cwi.nl/~jack/macpython.html you can also find the most recent
25MacPython distribution.
Jack Jansen83cab721997-08-26 13:25:06 +000026
27Mac-specific documentation is included in this distribution in folder
28Mac:Demo. The documentation is sparse, but it will have to serve for
29now. The documentation is in HTML format, start with index.html.
30
Jack Jansend0ddb661998-04-27 15:14:36 +000031Caveats
32-------
Jack Jansen2f9a9e32001-02-17 22:03:42 +000033Aside from the general new Python 2.1 features compared to 2.0 the main
34feature of this release is Carbon support.
Jack Jansenffd61a62000-04-09 18:37:50 +000035
Jack Jansencbe7b1c2001-03-06 22:42:12 +000036This installer installs MacPython for classic PPC MacOS, MacPython for Carbon
37(OS X, OS 9 or OS8 with CarbonLib installed) or both, depending on your
38configuration. By selecting custom install you can bypass these tests and
39install what you want.
Jack Jansenecbc1cc1998-01-06 12:13:16 +000040
Jack Jansen2b73fe92001-03-27 21:38:55 +000041If you want 68k support you will have to stay with MacPython 1.5.2.
Jack Jansen965226b2000-09-14 20:58:24 +000042
Jack Jansen83cab721997-08-26 13:25:06 +000043What to install
44---------------
45
Jack Jansen12a37b72000-05-06 23:01:07 +000046The optional parts in this distribution are
47- TK+PIL: Tkinter and support modules, plus Imaging, the Python image manipulation
48 package (allows you to read, write and display images and do lots of operations on them).
Jack Jansencbe7b1c2001-03-06 22:42:12 +000049 For Carbon MacPython you only get PIL: there is no Tcl/Tk for Carbon yet.
Jack Jansen2b73fe92001-03-27 21:38:55 +000050 This is the reason Classic MacPython is also installed on MacOSX: it allows you
51 to run Tkinter applications, albeit in the MacOS9 box.
Jack Jansen12a37b72000-05-06 23:01:07 +000052- img: another imaging package. Has more file format support and is faster
53 than imaging, but has only limited operations on images. There is a bridge
54 between the packages.
55- Numeric: the LLNL Numeric Python extension. All sorts of nifty operations
Jack Jansen8a6cdcc2000-09-10 12:02:28 +000056 on matrices and such. This is the most recent version from the sourceforge archive.
Jack Jansencbe7b1c2001-03-06 22:42:12 +000057 Numeric has moved from Extensions to :Lib:site-python, by the way, see the release
58 notes.
Jack Jansen12a37b72000-05-06 23:01:07 +000059- Developers kit: all header files and some tools and sample projects to get you started on
60 writing Python extensions if you have CodeWarrior.
61All these except the DevKit are installed with Easy Install.
Jack Jansen83cab721997-08-26 13:25:06 +000062
Jack Jansencbe7b1c2001-03-06 22:42:12 +000063After the installer finishes it automatically launches the appropriate
Jack Jansen2b73fe92001-03-27 21:38:55 +000064ConfigurePython applet, to finish configuration of your Python. If you run MacOS9 or later
Jack Jansencbe7b1c2001-03-06 22:42:12 +000065(or 8 with CarbonLib installed) you can switch back and forth between the classic and
66Carbon versions of Python by running either ConfigurePythonClassic or ConfigurePythonCarbon.
Jack Jansen83cab721997-08-26 13:25:06 +000067
Jack Jansen2e42bdd2000-11-14 20:37:37 +000068Moving your Python installation after installing is generally not a good idea.
69If you have to do this anyway you should remove your preference file, run
Jack Jansen2f9a9e32001-02-17 22:03:42 +000070ConfigurePython and remove all .pyc files. (there's a script zappyc.py that does
71the latter).
Jack Jansen2e42bdd2000-11-14 20:37:37 +000072
Jack Jansen83cab721997-08-26 13:25:06 +000073If you don't have enough memory: the sizes choosen are somewhat
Jack Jansen9080e9b2001-01-23 21:03:52 +000074arbitrary, and they are as high as they are so that test.autotest runs with fewer
75problems. An average Python program can make do with much less memory.
76Try lowering the application sizes in the finder "get info"
77window, and seeing whether the resulting python is still usable.
Jack Jansen83cab721997-08-26 13:25:06 +000078
Jack Jansen83cab721997-08-26 13:25:06 +000079After installing
80----------------
81
Jack Jansen8a6cdcc2000-09-10 12:02:28 +000082It is probably a good idea to run the automatic tests. Start
Jack Jansende519092000-10-12 21:21:43 +000083Python and "import test.autotest".
84
Jack Jansen2b73fe92001-03-27 21:38:55 +000085Two tests will fail on MacOS9, both with MemoryErrors:
Jack Jansen2f9a9e32001-02-17 22:03:42 +000086test_longexp and test_zlib (on MacOSX nothing should fail).
Jack Jansen2b73fe92001-03-27 21:38:55 +000087
Jack Jansen2f9a9e32001-02-17 22:03:42 +000088If you increase the PythonInterpreter memory
Jack Jansen2b73fe92001-03-27 21:38:55 +000089partition size they will pass (but for longexp you have to increase it by an
Jack Jansen99e607a2001-05-10 12:20:30 +000090incredible amount, 400MB is rumoured). It will, however, print some messages
Jack Jansen2e42bdd2000-11-14 20:37:37 +000091about optional features not supported. You should not worry about these,
92they are modules that are supported by Python on other platforms. Also,
93if you didn't run compileall before autotesting you may run out of
94memory the first time you run the tests. test_socket may also fail if
95you have no internet connection. Please also read the Relnotes file for
96other minor problems with this distribution.
Jack Jansen83cab721997-08-26 13:25:06 +000097
Jack Jansen12a37b72000-05-06 23:01:07 +000098Using Python is most easily done from the IDE, which has a builtin editor,
99debugger and other goodies. The alternative is to use PythonInterpreter,
100which is the lowlevel interpreter with a console-window only (similar to Unix
101Python).
Jack Jansen83cab721997-08-26 13:25:06 +0000102
Jack Jansen8a6cdcc2000-09-10 12:02:28 +0000103If your program uses Tkinter you MUST run it under PythonInterpreter, Tkinter
104and IDE are incompatible and your program will fail in strange ways.
105
Jack Jansen0b726951997-10-08 15:34:42 +0000106Uninstalling
107------------
108
109Two items are installed in the system folder: the interpreter shared
Jack Jansen2f9a9e32001-02-17 22:03:42 +0000110libraries PythonCore and PythonCoreCarbon lives in the Extensions folder and the
Jack Jansenc1218bc2001-04-25 22:11:24 +0000111"Python 2.1 Preferences" file in the Python subfolder in the
Jack Jansen8a6cdcc2000-09-10 12:02:28 +0000112Preferences folder. All the rest of Python lives in the folder you
113installed in.
Jack Jansen0b726951997-10-08 15:34:42 +0000114
Jack Jansenc1218bc2001-04-25 22:11:24 +0000115On OSX the libraries are installed in /Library/CFMSupport. There is a nasty bug
116in OSX that is triggered by Python: if any orphaned aliases are left in
117/Library/CFMSupport your machine will start to behave very badly. 2.1
118beta installers triggered this problem if you simply threw away your Python folder,
119so if you installed a 2.1beta you should clean out the aliases in /Library/CFMSupport
120too. This final 2.1 installer always copies the shared libraries on OSX, so it does
121not have the problem anymore.
122
Jack Jansen83cab721997-08-26 13:25:06 +0000123Things to see
124-------------
125
Jack Jansen12a37b72000-05-06 23:01:07 +0000126Start off at Mac:Demo:index.html. Read at least the first few sections.
127
Jack Jansen8a6cdcc2000-09-10 12:02:28 +0000128There are also some interesting files in the "Relnotes" folder that may
Jack Jansen83cab721997-08-26 13:25:06 +0000129contain useful information. There is also a first stab at documentation
130(plus examples) in the Mac:Demo folder. The toplevel Demo folder has
Jack Jansen12a37b72000-05-06 23:01:07 +0000131machine-independent demos.
132The Mac:Lib:test folder also has some programs that show simple
Jack Jansen83cab721997-08-26 13:25:06 +0000133capabilities of various modules.
134
Jack Jansen8a6cdcc2000-09-10 12:02:28 +0000135The ":Mac:scripts" folder has some sample scripts. Some are useful, some are
Jack Jansen83cab721997-08-26 13:25:06 +0000136just interesting to look at to see how various things work. The MkDistr,
137mkapplet and fullbuild scripts (plus the ones mentioned above) may help
138you to understand how to use AppleEvents and various other toolboxes
139from python.
140
Jack Jansen8a6cdcc2000-09-10 12:02:28 +0000141Other mac-specific goodies can be found in :Mac:Tools, of which the IDE sources
142and a CGI framework deserve special mention.
143
Jack Jansen83cab721997-08-26 13:25:06 +0000144The 'img' group of modules, which handles I/O of many different image
Jack Jansend0ddb661998-04-27 15:14:36 +0000145formats is included, but without documentation. You can find docs at
146ftp://ftp.cwi.nl/pub/jack/python/img (or somewhere around there).
147
148Finally there is a Mac:Contrib folder which contains some contributed
Jack Jansen12a37b72000-05-06 23:01:07 +0000149software.
Jack Jansen83cab721997-08-26 13:25:06 +0000150
151Upgrading from older Python releases
152------------------------------------
153
Jack Jansen2f9a9e32001-02-17 22:03:42 +0000154Python releases are independent of each other, with
Jack Jansen83cab721997-08-26 13:25:06 +0000155separate Preferences files, shared library names, etc. The good news is
156that this means you can keep your older version around if you are unsure
157whether to upgrade. The bad news is that your old preference settings
158are lost and you have to set them again.
159
Jack Jansen2f9a9e32001-02-17 22:03:42 +0000160After you are satisfied that 2.1 works as expected you can trash
Jack Jansen83cab721997-08-26 13:25:06 +0000161anything in the system folder that has "python" in the name and not
Jack Jansen2f9a9e32001-02-17 22:03:42 +0000162"2.1".
Jack Jansen83cab721997-08-26 13:25:06 +0000163
Jack Jansen2b73fe92001-03-27 21:38:55 +0000164As of 2.1 the ConfigurePython applets will try to detect incompatible preferences
165files and offer to remove them. This means that re-running ConfigurePython after
166a second install of the same MacPython version (or after moving the Python folder)
167should fix things up correctly.
168
Jack Jansen83cab721997-08-26 13:25:06 +0000169The installer
170-------------
171
Jack Jansen12a37b72000-05-06 23:01:07 +0000172The installer for this product was created using Installer VISE
173from MindVision Software. For more information on Installer VISE,
Jack Jansen83cab721997-08-26 13:25:06 +0000174contact:
175MindVision Software
1767201 North 7th Street
177Lincoln, NE 68521-8913
178Voice: 402-477-3269
179Fax: 402-477-1395
180Internet: mindvision@mindvision.com
181http://www.mindvision.com
182
Jack Jansen12a37b72000-05-06 23:01:07 +0000183Just van Rossum <just@letterror.nl> created the initial version of the
184installer (with Installer Vise Lite), and Jack worked from there.
Jack Jansen83cab721997-08-26 13:25:06 +0000185
Jack Jansen01ae9eb2000-04-22 22:57:25 +0000186Thanks!
187-------
188
Jack Jansen965226b2000-09-14 20:58:24 +0000189Thanks go to the whole Python community with Guido in the lead, of
190course. Mac-specific thanks go to the pythonmac-sig, Just van Rossum,
191Corran Webster, Tony Ingraldi, Erik van Blokland, Bill Bedford, Chris
192Stern, Gordon Worley, Oliver Steele, M. Papillon, Steven Majewski, David
Jack Jansen538bd132000-10-19 21:58:27 +0000193Goodger, Chris Barker, Luc Lefebvre, Tattoo Mabonzo K., Russell Finn,
Jack Jansen8ef786e2001-03-15 14:27:09 +0000194Tom Bridgman Russel Owen and all the other people who provided feedback,
195code or both!
Jack Jansen01ae9eb2000-04-22 22:57:25 +0000196
Jack Jansende519092000-10-12 21:21:43 +0000197MacPython includes waste, a TextEdit replacement which is (c) 1998 Marco Piovanelli.
198
Jack Jansen9080e9b2001-01-23 21:03:52 +0000199A special mention is deserved by Matthias Neeracher, who has written the brilliant
200unix-compatible GUSI I/O library, without which MacPython would not have sockets
201or select, and to Alexandre Parenteau, who has ported this library to Carbon.
202
Jack Jansen83cab721997-08-26 13:25:06 +0000203Feedback
204--------
205
206Send bug reports, suggestions, contributions and fanmail to
Jack Jansenecbc1cc1998-01-06 12:13:16 +0000207<jack@cwi.nl>. However, a better way to discuss MacPython is to join the
Jack Jansen83cab721997-08-26 13:25:06 +0000208<pythonmac-sig@python.org> mailing list, which is explicitly meant for
209this purpose.
210
Jack Jansenb25ec912001-03-05 15:44:55 +0000211
Jack Jansen83cab721997-08-26 13:25:06 +0000212Jack Jansen
Jack Jansen12a37b72000-05-06 23:01:07 +0000213Oratrix Development BV
214Valeriusplein 30
215Amsterdam
Jack Jansen83cab721997-08-26 13:25:06 +0000216the Netherlands
217
218<jack@cwi.nl>, http://www.cwi.nl/~jack