cpython/Mac
Jack Jansen ab0280d252 How-to document for using Python for CGI scripting. Not complete and untested, but I'm checking it in so it won't get lost. 2000-08-25 22:36:13 +00:00
..
Build Last set of CW Pro 5 projects (probably) 2000-08-25 22:33:27 +00:00
Compat Test for TARGET_API_MAC_CARBON with #if in stead of #ifdef. 2000-07-14 22:37:27 +00:00
Contrib Erik van Blokland's CaptureAE. 2000-04-22 22:56:53 +00:00
Demo Updated the applescript documentation for te new framework, and replaced the Eudora example with one that uses Disk Copy (which everyone running MacOS 8 or 2000-08-20 21:57:38 +00:00
Distributions Include xx project, exclude all the others. 2000-08-25 22:30:24 +00:00
GUSI-mods Putting Python-specific GUSI modifications under CVS. 1998-08-18 14:52:38 +00:00
IDE scripts Initial checkin of IDE scripts. (jvr) 1999-09-26 12:25:06 +00:00
Include Added prototype for DlgObj_ConvertToWindow(). 2000-08-25 22:28:08 +00:00
Lib Call GetDialogWindow to convert dialogs to windows. 2000-08-25 22:06:19 +00:00
MPW moved bgen to Tools 1995-03-10 15:12:23 +00:00
Modules Added routine DlgObj_ConvertToWindow(). 2000-08-25 22:25:54 +00:00
PlugIns Starting on the new project/plugin structure. Far from complete... 1999-01-28 13:42:55 +00:00
Python Removed debug output. 2000-08-25 21:58:00 +00:00
Resources 'carb' resource for carbon application. 2000-07-18 09:43:27 +00:00
Tools How-to document for using Python for CGI scripting. Not complete and untested, but I'm checking it in so it won't get lost. 2000-08-25 22:36:13 +00:00
Unsupported Moved to unsupported: it never lived up to its expectancies, and for the Mac all the functionality is available in the IDE. 2000-08-20 20:21:38 +00:00
mwerks Don't use our own malloc any more. It made test_longexp crash due to its optimization to lock blocks into a specific size malloc requests. This loses 15% performance, but that we'll have to live with:-( 2000-08-25 22:02:44 +00:00
scripts Only output the code to alias properties if the names aren't the same. 2000-08-22 20:34:35 +00:00
tclmods Put in an earlier include of sys/signal.h (within ifdef USE_GUSI) to forestal a multiple define. 2000-07-24 19:42:53 +00:00
HISTORY Changed release note structure: 1997-05-28 12:01:14 +00:00
ReadMe Some thanks weren't checked in yet. 2000-07-18 09:41:31 +00:00
ReadMe-dev Updated for 1.5.2b1 (better late than never:-) 1999-01-21 12:50:47 +00:00
ReadMe-src Updated for 1.5.2b1 (better late than never:-) 1999-01-21 12:50:47 +00:00
Relnotes Updated for 1.6a2. 2000-05-06 23:01:07 +00:00
_checkversion.py 1.5.2c1 version. 1999-09-30 11:12:13 +00:00
errno_unix.h Unix functionality expected by python but missing from CodeWarrior 1994-12-14 14:04:55 +00:00
fopenRF.c Think 6.0 version 1995-01-02 19:13:30 +00:00
mkapplet.py In interactive mode ask for output file 1995-02-27 16:19:07 +00:00
mwerksglue.c Unix functionality expected by python but missing from CodeWarrior 1994-12-14 14:04:55 +00:00

ReadMe

How to install Python 1.6a2 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 an alfa version, and for this once it really means that: there
are quite a few features that have only lightly been tested, and bugs are
to be expected.

Aside from the general Python 1.6 features 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, whether a 68K distribution
of Python 1.6 will happen is not certain at the moment.

Changes since 1.6a1
-------------------

- All core-Python changes, plus a few from after 1.6a2, approximately as the
  Python CVS tree was at May 5.
- The threading performance bug has been fixed.
- Tkinter is included again (yeah!), but only lightly tested. Please report
  findings to the mailing list.
- macfsn.py is auto-imported on startup (unless disabled with a new option).
  This retrofits macfs.StandardGetFile() and friends to use Navigation Services
  in stead of the old Standard File dialogs.
- I think all installer problems have been fixed. Please report if not so.

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.
- 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 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
----------------

The first step thing you could try is to run "compileall.py" to create
all .pyc files, but this isn't very important, as pyc files are
created on-the-fly as well. You may also want to skip this step if you
are low on diskspace.

Next, it is probably a good idea to run the automatic tests. Start
Python and "import test.autotest". This should not print only one error, about some
AM/PM format not supported in strftime. 
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).

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

Two items are installed in the system folder: the interpreter shared
library "PythonCore 1.6a2" lives in the Extensions folder and the
"Python 1.6a2 Preferences" file 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 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. 
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 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 1.6a2 works as expected you can trash
anything in the system folder that has "python" in the name and not
"1.6a2".

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,
Erik van Blokland, Bill Bedford, Chris Stern, Gordon Worley, Oliver Steele, M. Papillon
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