| How to install Python 2.1 on your Macintosh |
| ------------------------------------------- |
| |
| This is a MacPython that can run on classic MacOS (from 8.1 |
| onwards) and natively on MacOSX. The installer tries to work out whether you can |
| use the Carbon version or not. This is also the first MacPython distribution |
| to be packaged as an active installer, which only downloads the parts you actually |
| need. Let me hear about problems in these areas. |
| |
| You should definitely read the Relnotes file too. |
| |
| A special note about the active installer: do not background it, it may hang |
| your machine. This is a general problem with Vise active installers, MindVision |
| are working on it. |
| |
| If you installed a 2.1 beta on MacOSX you MUST read the uninstall section below. |
| |
| ------ |
| |
| 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.pythonlabs.com, 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 |
| ------- |
| Aside from the general new Python 2.1 features compared to 2.0 the main |
| feature of this release is Carbon support. |
| |
| This installer installs MacPython for classic PPC MacOS, MacPython for Carbon |
| (OS X, OS 9 or OS8 with CarbonLib installed) or both, depending on your |
| configuration. By selecting custom install you can bypass these tests and |
| install what you want. |
| |
| If you want 68k support you will have to stay with MacPython 1.5.2. |
| |
| What to install |
| --------------- |
| |
| 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). |
| For Carbon MacPython you only get PIL: there is no Tcl/Tk for Carbon yet. |
| This is the reason Classic MacPython is also installed on MacOSX: it allows you |
| to run Tkinter applications, albeit in the MacOS9 box. |
| - 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. |
| Numeric has moved from Extensions to :Lib:site-python, by the way, see the release |
| notes. |
| - 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 appropriate |
| ConfigurePython applet, to finish configuration of your Python. If you run MacOS9 or later |
| (or 8 with CarbonLib installed) you can switch back and forth between the classic and |
| Carbon versions of Python by running either ConfigurePythonClassic or ConfigurePythonCarbon. |
| |
| Moving your Python installation after installing is generally not a good idea. |
| If you have to do this anyway you should remove your preference file, run |
| ConfigurePython and remove all .pyc files. (there's a script zappyc.py that does |
| the latter). |
| |
| If you don't have enough memory: the sizes choosen are somewhat |
| arbitrary, and they are as high as they are so that test.autotest runs with fewer |
| problems. An average Python program can make do with much less memory. |
| Try lowering the application sizes in the finder "get info" |
| window, and seeing whether the resulting python is still usable. |
| |
| After installing |
| ---------------- |
| |
| It is probably a good idea to run the automatic tests. Start |
| Python and "import test.autotest". |
| |
| Two tests will fail on MacOS9, both with MemoryErrors: |
| test_longexp and test_zlib (on MacOSX nothing should fail). |
| |
| If you increase the PythonInterpreter memory |
| partition size they will pass (but for longexp you have to increase it by an |
| incredible amount, 400MB is rumoured). It will, however, print some messages |
| about optional features not supported. You should not worry about these, |
| they are modules that are supported by Python on other platforms. 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 |
| libraries PythonCore and PythonCoreCarbon lives in the Extensions folder and the |
| "Python 2.1 Preferences" file in the Python subfolder in the |
| Preferences folder. All the rest of Python lives in the folder you |
| installed in. |
| |
| On OSX the libraries are installed in /Library/CFMSupport. There is a nasty bug |
| in OSX that is triggered by Python: if any orphaned aliases are left in |
| /Library/CFMSupport your machine will start to behave very badly. 2.1 |
| beta installers triggered this problem if you simply threw away your Python folder, |
| so if you installed a 2.1beta you should clean out the aliases in /Library/CFMSupport |
| too. This final 2.1 installer always copies the shared libraries on OSX, so it does |
| not have the problem anymore. |
| |
| 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 |
| ------------------------------------ |
| |
| 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.1 works as expected you can trash |
| anything in the system folder that has "python" in the name and not |
| "2.1". |
| |
| As of 2.1 the ConfigurePython applets will try to detect incompatible preferences |
| files and offer to remove them. This means that re-running ConfigurePython after |
| a second install of the same MacPython version (or after moving the Python folder) |
| should fix things up correctly. |
| |
| 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, Tattoo Mabonzo K., Russell Finn, |
| Tom Bridgman Russel Owen and all the other people who provided feedback, |
| code or both! |
| |
| MacPython includes waste, a TextEdit replacement which is (c) 1998 Marco Piovanelli. |
| |
| A special mention is deserved by Matthias Neeracher, who has written the brilliant |
| unix-compatible GUSI I/O library, without which MacPython would not have sockets |
| or select, and to Alexandre Parenteau, who has ported this library to Carbon. |
| |
| 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. |
| |
| |
| Jack Jansen |
| Oratrix Development BV |
| Valeriusplein 30 |
| Amsterdam |
| the Netherlands |
| |
| <jack@cwi.nl>, http://www.cwi.nl/~jack |