How to install Python 2.0b1+ on your Macintosh
---------------------------------------------

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 www.python.org and ftp.python.org. Through
there, or via http://www.cwi.nl/~jack/macpython.html you can also find
the most recent MacPython distribution.

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.

Caveats
-------
This is a beta version, so use with caution. This b1+ beta has received
only very little testing, use the older b1 if it proves problematic.

If you have used an earlier version of 2.0b1 you _must_ remove your old
preference file, the files are incompatible.

Aside from the general new Python 2.0 features (compared to 1.5.2, there
was no 1.6 for the macintosh) like unicode support the main new features
of this MacPython release is support for multithreading. This has had
some preliminary testing, but please report any success or failure on
the mailing list.

This installer installs MacPython for PowerPC only, if you really want
68k support you will have to stay with 1.5.2. Or, if you are willing to
invest the time and have access to CodeWarrior you are welcome to try
and build a 68k distribution, most of the projects and sources are
reasonably up to date (May 2000). Contact me for details.

This version of Python expects a recent version of Appearance, so it may
be that users with pre MacOS 8.5 systems have trouble running it. If
that is the case try getting CarbonLib from Apple, I am told this
includes Appearance and NavServices. You may also have to disable the
"Use navservices" preference for best results.

What to install
---------------

This installer is PPC only: too many new MacOS features are not
available on 68K, and doing workarounds, even just #ifdeffing in the
code, is too much work for me right now. If someone wants to revive
68K-MacPython: please do so. The project files still contain the 68K
targets (they're simply skipped by the build process) so all that is
needed is CodeWarrior, a source distribution and commitment.

The optional parts in this distribution are
- TK+PIL: Tkinter and support modules, plus Imaging, the Python image manipulation 
  package (allows you to read, write and display images and do lots of operations on them).
- img: another imaging package. Has more file format support and is faster
  than imaging, but has only limited operations on images. There is a bridge
  between the packages.
- Numeric: the LLNL Numeric Python extension. All sorts of nifty operations
  on matrices and such. This is the most recent version from the sourceforge archive.
- Developers kit: all header files and some tools and sample projects to get you started on
  writing Python extensions if you have CodeWarrior.
All these except the DevKit are installed with Easy Install.

After the installer finishes it automatically launches the
ConfigurePython applet, to finish configuration of your Python.
If you have previously installed another copy of 2.0b1 you should manually
remove your preference file first (but no such action is needed for installing
beside older MacPythons, and they will live together happily).

If you don't have enough memory: the sizes choosen are somewhat
arbitrary. Try lowering the application sizes in the finder "get info"
window, and seeing whether the resulting python is still usable. Some
modules (Tkinter comes to mind) need a lot of memory, so it may also be
necessary to increase the application size.

After installing
----------------

It is probably a good idea to run the automatic tests. Start
Python and "import test.autotest". This should print only 2 or 3 errors, about some
AM/PM format not supported in strftime, about a MemoryError in test_longexp and
about a memory error in test_zlib. 
It will, however, print some messages about optional features
not supported. Also, if you didn't run compileall before autotesting
you may run out of memory the first time you run the
tests. test_socket may also fail if you have no internet
connection. Please also read the Relnotes file for other minor
problems with this distribution.

Using Python is most easily done from the IDE, which has a builtin editor,
debugger and other goodies. The alternative is to use PythonInterpreter,
which is the lowlevel interpreter with a console-window only (similar to Unix
Python).

If your program uses Tkinter you MUST run it under PythonInterpreter, Tkinter
and IDE are incompatible and your program will fail in strange ways.

Uninstalling
------------

Two items are installed in the system folder: the interpreter shared
library "PythonCore 2.0b1" lives in the Extensions folder and the
"Python 2.0b1 Preferences" file in the Python subfolder in the
Preferences folder. All the rest of Python lives in the folder you
installed in.

Things to see
-------------

Start off at Mac:Demo:index.html. Read at least the first few sections.

There are also some interesting files in the "Relnotes" 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. 
The Mac:Lib:test folder also has some programs that show simple
capabilities of various modules.

The ":Mac: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.

Other mac-specific goodies can be found in :Mac:Tools, of which the IDE sources
and a CGI framework deserve special mention.

The 'img' group of modules, which handles I/O of many different image
formats is included, but without documentation.  You can find docs at
ftp://ftp.cwi.nl/pub/jack/python/img (or somewhere around there).

Finally there is a Mac:Contrib folder which contains some contributed
software.

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 2.0b1 works as expected you can trash
anything in the system folder that has "python" in the name and not
"2.0b1".

The installer
-------------

The installer for this product was created using Installer VISE
from MindVision Software. For more information on Installer VISE,
contact:
MindVision Software
7201 North 7th Street
Lincoln, NE 68521-8913
Voice: 402-477-3269
Fax: 402-477-1395
Internet: mindvision@mindvision.com
http://www.mindvision.com

Just van Rossum <just@letterror.nl> created the initial version of the
installer (with Installer Vise Lite), and Jack worked from there.

Thanks!
-------

Thanks go to the whole Python community with Guido in the lead, of
course. Mac-specific thanks go to the pythonmac-sig, Just van Rossum,
Corran Webster, Tony Ingraldi, Erik van Blokland, Bill Bedford, Chris
Stern, Gordon Worley, Oliver Steele, M. Papillon, Steven Majewski, David
Goodger, Chris Barker, Luc Lefebvre and all the other people who
provided feedback, code or both!

Feedback
--------

Send bug reports, suggestions, contributions and fanmail to
<jack@cwi.nl>. However, a better way to discuss MacPython is to join the
<pythonmac-sig@python.org> mailing list, which is explicitly meant for
this purpose.

Alternatively, you can try sending to comp.lang.python or
python-list@cwi.nl, 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
Oratrix Development BV
Valeriusplein 30
Amsterdam
the Netherlands

<jack@cwi.nl>, http://www.cwi.nl/~jack
