Commit 1a29ed74 authored by Jack Jansen's avatar Jack Jansen

Added Donovan Preston and reformatted to 80-char lines.

parent ae0f1ed9
...@@ -71,11 +71,12 @@ turned into an applet) the given resource file will be opened. This method will ...@@ -71,11 +71,12 @@ turned into an applet) the given resource file will be opened. This method will
eventually also contain the magic needed to open the resource file on eventually also contain the magic needed to open the resource file on
OSX MachO Python. OSX MachO Python.
Another feature to help with the OSX transition is that if you open a textfile Another feature to help with the OSX transition is that if you open a
for reading MacPython will now accept either unix linefeeds (LF, '\n') or textfile for reading MacPython will now accept either unix linefeeds
Macintosh linefeeds (CR, '\r') and present both of them as '\n'. This is done on (LF, '\n') or Macintosh linefeeds (CR, '\r') and present both of them
a low level, so it works for files opened by scripts as well as for your scripts as '\n'. This is done on a low level, so it works for files opened by
and modules itself. This can be turned off with a preference/startup option. scripts as well as for your scripts and modules itself. This can be
turned off with a preference/startup option.
But: But:
- this works only for input, and there's no way to find out what the original - this works only for input, and there's no way to find out what the original
...@@ -86,37 +87,40 @@ What to install ...@@ -86,37 +87,40 @@ What to install
--------------- ---------------
The optional parts in this distribution are The optional parts in this distribution are
- TK+PIL: Tkinter and support modules, plus Imaging, the Python image manipulation - TK+PIL: Tkinter and support modules, plus Imaging, the Python image
package (allows you to read, write and display images and do lots of operations on them). 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. 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 This is the reason Classic MacPython is also installed on MacOSX: it
to run Tkinter applications, albeit in the Classic box. allows you to run Tkinter applications, albeit in the Classic box.
- img: another imaging package. Has more file format support and is faster - 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 than imaging, but has only limited operations on images. There is a bridge
between the packages. between the packages.
- Numeric: the LLNL Numeric Python extension. All sorts of nifty operations - 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. on matrices and such. This is the most recent version from the
Numeric has moved from Extensions to :Lib:site-python, by the way, see the release sourceforge archive.
notes. Numeric has moved from Extensions to :Lib:site-python, by the way,
- Developers kit: all header files and some tools and sample projects to get you started on see the release notes.
writing Python extensions if you have CodeWarrior. - 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. All these except the DevKit are installed with Easy Install.
After the installer finishes it automatically launches the appropriate After the installer finishes it automatically launches the appropriate
ConfigurePython applet, to finish configuration of your Python. If you run MacOS9 or later ConfigurePython applet, to finish configuration of your Python. If you
(or 8 with CarbonLib installed) you can switch back and forth between the classic and run MacOS9 or later (or 8 with CarbonLib installed) you can switch
Carbon versions of Python by running either ConfigurePythonClassic or ConfigurePythonCarbon. 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. Moving your Python installation after installing is generally not a
If you have to do this anyway you should remove your preference file, run good idea. If you have to do this anyway you should remove your
ConfigurePython and remove all .pyc files. (there's a script zappyc.py that does preference file, run ConfigurePython and remove all .pyc
the latter). files. (there's a script zappyc.py that does the latter).
If you don't have enough memory: the sizes choosen are somewhat 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 arbitrary, and they are as high as they are so that test.autotest runs
problems. An average Python program can make do with much less memory. with fewer problems. An average Python program can make do with much
Try lowering the application sizes in the finder "get info" less memory. Try lowering the application sizes in the finder "get
window, and seeing whether the resulting python is still usable. info" window, and seeing whether the resulting python is still usable.
After installing After installing
---------------- ----------------
...@@ -124,47 +128,49 @@ After installing ...@@ -124,47 +128,49 @@ After installing
It is probably a good idea to run the automatic tests. Start It is probably a good idea to run the automatic tests. Start
Python and "import test.regrtest ; test.regrtest.main()". Python and "import test.regrtest ; test.regrtest.main()".
test_time will fail because MacPython accepts bogus values for mktime(), this test_time will fail because MacPython accepts bogus values for
will be fixed later (it is not a very serious problem). mktime(), this will be fixed later (it is not a very serious problem).
test_descrtut will fail because of a problem with the test itself. test_descrtut will fail because of a problem with the test itself.
Three tests will fail on MacOS9 with MemoryErrors: Three tests will fail on MacOS9 with MemoryErrors:
test_longexp, test_sha and test_zlib (on MacOSX these should pass). test_longexp, test_sha and test_zlib (on MacOSX these should pass).
If you increase the PythonInterpreter memory If you increase the PythonInterpreter memory partition size they will
partition size they will pass (but for longexp you have to increase it by an pass (but for longexp you have to increase it by an incredible amount,
incredible amount, 400MB is rumoured). It will, however, print some messages 400MB is rumoured). It will, however, print some messages about
about optional features not supported. You should not worry about these, optional features not supported. You should not worry about these,
they are modules that are supported by Python on other platforms. Also, they are modules that are supported by Python on other
if you didn't run compileall before autotesting you may run out of platforms. Also, if you didn't run compileall before autotesting you
memory the first time you run the tests. test_socket may also fail if may run out of memory the first time you run the tests. test_socket
you have no internet connection. Please also read the Relnotes file for may also fail if you have no internet connection. Please also read the
other minor problems with this distribution. Relnotes file for other minor problems with this distribution.
Using Python is most easily done from the IDE, which has a builtin editor, Using Python is most easily done from the IDE, which has a builtin
debugger and other goodies. The alternative is to use PythonInterpreter, editor, debugger and other goodies. The alternative is to use
which is the lowlevel interpreter with a console-window only (similar to Unix PythonInterpreter, which is the lowlevel interpreter with a
Python). console-window only (similar to Unix Python).
If your program uses Tkinter you MUST run it under PythonInterpreter, Tkinter If your program uses Tkinter you MUST run it under PythonInterpreter,
and IDE are incompatible and your program will fail in strange ways. Tkinter and IDE are incompatible and your program will fail in strange
ways.
Uninstalling Uninstalling
------------ ------------
Two items are installed in the system folder: the interpreter shared Two items are installed in the system folder: the interpreter shared
libraries PythonCore and PythonCoreCarbon lives in the Extensions folder and the libraries PythonCore and PythonCoreCarbon lives in the Extensions
"Python 2.2b1 Preferences" file in the Python subfolder in the folder and the "Python 2.2b1 Preferences" file in the Python subfolder
Preferences folder. All the rest of Python lives in the folder you in the Preferences folder. All the rest of Python lives in the folder
installed in. you installed in.
On OSX the libraries are installed in /Library/CFMSupport. There is a nasty bug On OSX the libraries are installed in /Library/CFMSupport. There is a
in OSX that is triggered by Python: if any orphaned aliases are left in nasty bug in OSX that is triggered by Python: if any orphaned aliases
/Library/CFMSupport your machine will start to behave very badly. 2.1 are left in /Library/CFMSupport your machine will start to behave very
beta installers triggered this problem if you simply threw away your Python folder, badly. 2.1 beta installers triggered this problem if you simply threw
so if you installed a 2.1beta you should clean out the aliases in /Library/CFMSupport away your Python folder, so if you installed a 2.1beta you should
too. The final 2.1 and 2.1.1 installers always copied the shared libraries on OSX, so it does clean out the aliases in /Library/CFMSupport too. The final 2.1 and
2.1.1 installers always copied the shared libraries on OSX, so it does
not have the problem anymore. not have the problem anymore.
Things to see Things to see
...@@ -179,14 +185,14 @@ machine-independent demos. ...@@ -179,14 +185,14 @@ machine-independent demos.
The Mac:Lib:test folder also has some programs that show simple The Mac:Lib:test folder also has some programs that show simple
capabilities of various modules. capabilities of various modules.
The ":Mac:scripts" folder has some sample scripts. Some are useful, some are The ":Mac:scripts" folder has some sample scripts. Some are useful,
just interesting to look at to see how various things work. The MkDistr, some are just interesting to look at to see how various things
mkapplet and fullbuild scripts (plus the ones mentioned above) may help work. The MkDistr, mkapplet and fullbuild scripts (plus the ones
you to understand how to use AppleEvents and various other toolboxes mentioned above) may help you to understand how to use AppleEvents and
from python. various other toolboxes from python.
Other mac-specific goodies can be found in :Mac:Tools, of which the IDE sources Other mac-specific goodies can be found in :Mac:Tools, of which the
and a CGI framework deserve special mention. IDE sources and a CGI framework deserve special mention.
The 'img' group of modules, which handles I/O of many different image The 'img' group of modules, which handles I/O of many different image
formats is included, but without documentation. You can find docs at formats is included, but without documentation. You can find docs at
...@@ -198,9 +204,9 @@ software. ...@@ -198,9 +204,9 @@ software.
Upgrading from older Python releases Upgrading from older Python releases
------------------------------------ ------------------------------------
Python releases are independent of each other, with Python releases are independent of each other, with separate
separate Preferences files, shared library names, etc. The good news is Preferences files, shared library names, etc. The good news is that
that this means you can keep your older version around if you are unsure 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 whether to upgrade. The bad news is that your old preference settings
are lost and you have to set them again. are lost and you have to set them again.
...@@ -208,10 +214,10 @@ After you are satisfied that 2.2b1 works as expected you can trash ...@@ -208,10 +214,10 @@ After you are satisfied that 2.2b1 works as expected you can trash
anything in the system folder that has "python" in the name and not anything in the system folder that has "python" in the name and not
"2.2b1". "2.2b1".
The ConfigurePython... applets will try to detect incompatible preferences The ConfigurePython... applets will try to detect incompatible
files and offer to remove them. This means that re-running ConfigurePython after preferences files and offer to remove them. This means that re-running
a second install of the same MacPython version (or after moving the Python folder) ConfigurePython after a second install of the same MacPython version
should fix things up correctly. (or after moving the Python folder) should fix things up correctly.
The installer The installer
------------- -------------
...@@ -239,14 +245,16 @@ Corran Webster, Tony Ingraldi, Erik van Blokland, Bill Bedford, Chris ...@@ -239,14 +245,16 @@ Corran Webster, Tony Ingraldi, Erik van Blokland, Bill Bedford, Chris
Stern, Gordon Worley, Oliver Steele, M. Papillon, Steven Majewski, David Stern, Gordon Worley, Oliver Steele, M. Papillon, Steven Majewski, David
Goodger, Chris Barker, Luc Lefebvre, Tattoo Mabonzo K., Russell Finn, Goodger, Chris Barker, Luc Lefebvre, Tattoo Mabonzo K., Russell Finn,
Tom Bridgman, Russel Owen, Pascal Oberndoerfer, Dean Draayer, Tom Bridgman, Russel Owen, Pascal Oberndoerfer, Dean Draayer,
Alexandre Parenteau, Alexandre Parenteau, Donovan Preston
and all the other people who provided feedback, code or both! and all the other people who provided feedback, code or both!
MacPython includes waste, a TextEdit replacement which is (c) 1998 Marco Piovanelli. 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 A special mention is deserved by Matthias Neeracher, who has written
unix-compatible GUSI I/O library, without which MacPython would not have sockets the brilliant unix-compatible GUSI I/O library, without which
or select, and to Alexandre Parenteau, who has ported this library to Carbon. MacPython would not have sockets or select, and to Alexandre
Parenteau, who has ported this library to Carbon.
Feedback Feedback
-------- --------
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment