Kaydet (Commit) 7a2bebd8 authored tarafından Jack Jansen's avatar Jack Jansen

First stab at files for 2.2.1.

üst 98863e9e
How to install Python 2.2 on your Macintosh
How to install Python 2.2.1 on your Macintosh
---------------------------------------------
This is a MacPython that can run on classic MacOS (from 8.1
......@@ -35,63 +35,6 @@ install what you want.
If you want 68k support you will have get MacPython 1.5.2.
Toolbox module reorganization and more
--------------------------------------
You can safely skip this section if this is your first encounter with MacPython.
This release has a new organization of the mac-specific modules, and in
general brings the MacPython folder structure more in line with
unix-Python. This is not only a good idea, it will also immensely
facilitate moving MacPython functionality to an OSX Python that is based
on Mach-O and the unix-Python distribution. But don't worry: MacPython
is definitely not dead yet, and the hope is that the transition will be
as seamless as possible.
First a change that should not cause too much concern: :Mac:Plugins has
gone, and most of the dynamically loaded modules have moved to
:Lib:lib-dynload.
Second, and more important: the toolbox modules, such as Res and
Resource, have moved to a Carbon package. So, in stead of "import Res"
you should now say "from Carbon import Res" and in stead of "from Res
import *" you should use "from Carbon.Res import *". For the lifetime of
MacPython 2.2 there is a folder :Mac:Lib:lib-compat on sys.path that
contains modules with the old names which imports the new names after
issuing a warning.
Note that although the package is called Carbon the modules work fine under
classic PPC, and they are normal classic modules. Also note that some
modules you may think of as toolbox modules (such as Waste) really are not,
and they are not in the Carbon package.
Also, all toolbox modules have been updated to Universal Headers 3.4, and
are (for classic PPC) weak-linked against InterfaceLib so that they should
work on all systems back to MacOS 8.1. Calling an unimplemented function will
raise an exception, not crash your interpreter.
Another change related to the OSX growth path is that there is a new module
macresource that you can use to easily open a resource file accompanying your
script. Use "macresource.need("DLOG", MY_DIALOG_ID, "name.rsrc") and if the
given resource is not available (it _is_ available if your script has been
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
OSX MachO Python.
Another feature to help with the OSX transition is that if you open a
textfile for reading MacPython will now accept either unix linefeeds
(LF, '\n') or Macintosh linefeeds (CR, '\r') and present both of them
as '\n'. This is done on a low level, so it works for files opened by
scripts as well as for your scripts and modules itself. This can be
turned off with a preference/startup option.
But:
- this works only for input, and there's no way to find out what the original
linefeed convention of the file was.
- Windows \r\n linefeeds are not supported and get turned into \n\n.
- in 2.3 this feature will be replaced by a more general, platform independent
way of handling files with foreign newline conventions.
What to install
---------------
......@@ -170,7 +113,7 @@ Uninstalling
Up to three items are installed in the system folder: the interpreter shared
libraries PythonCore and PythonCoreCarbon live in the Extensions
folder and the "Python 2.2 Preferences" file in the Python subfolder
folder and the "Python 2.2.1 Preferences" file in the Python subfolder
in the Preferences folder. All the rest of Python lives in the folder
you installed in.
......@@ -218,9 +161,9 @@ 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.2 works as expected you can trash
After you are satisfied that 2.2.1 works as expected you can trash
anything in the system folder that has "python" in the name and not
"2.2".
"2.2.1".
The ConfigurePython... applets will try to detect incompatible
preferences files and offer to remove them. This means that re-running
......
Changes in 2.2 since 2.1.1
Changes in 2.2.1 since 2.2
----------------------------
These release notes refer to Mac-specific changes only. See NEWS (in the Misc folder)
for machine-independent changes.
- The main change is that all toolbox modules have moved to a package called Carbon.
So things like "import Res" should be changed to "from Carbon import Res", and
"from Res import *" to "from Carbon.Res import *". Please see the readme file for
some open questions and join the discussions on pythonmac-sig if you have anything
to contribute. Aside from reducing clutter this change will also benefit the
port to Mach-O/OSX Python later.
- All toolbox modules have been updated to Universal Headers 3.4.
- Toolbox modules are weaklinked against InterfaceLib (for PPC builds) and raise
an exception when you call an unimplemented one on an old MacOS.
- On input MacPython now accepts either \n (unix style) or \r (mac style) newlines
for text files. This behaviour can be turned off with a preference.
This is an experimental feature; again: feedback is requested.
- The IDE looks better on OS X, but still not as good as on OS9.
- Command-dot handling has been improved a lot: scripts are now much easier to interrupt,
and they only scan for cmd-. while in the foreground.
- "Copy" from the MacPython console window was always disabled. Fixed.
- This release should run on MacOS 8.1 again.
- A new, rather different GUSI I/O library is used.
- time.time() returns positive values again.
- There is a new module macresource which makes it easier to open a resource file
accompanying your script when the script is not (yet) converted to an applet.
This module will later also do the right thing in Mach-O/OSX Python.
- (Carbon only) experimental modules Carbon.CG (CoreGraphics) and CarbonEvt have
been added.
- A new, experimental module hfsplus is included, which gives access to some of the
functionality of the HFS+ API.
- A new, experimental module gives access to Carbon Events.
- Threads had a stack that was too small for many serious Python applications (20K).
They now get 64K. There is still no overflow check, though.
- Garbage collection and the gc module have (finally) been enabled.
- EasyDialogs.ProgressBar now has indeterminate progressbars if you specify maxval=0.
This is also the new default. Patch supplied by Dean Draayer.
- There are new preferences for enabling old-style division warnings and for
accepting unix-style newlines in text input files. These can also be set during
startup, and in addition you can select very verbose import tracing.
- The NavServices override for StandardFile has moved from early startup to the
time you import macfs. This speeds up MacPython startup.
- Various outdated scripts have been moved to :Mac:Unsupported.
- Various outdated items from :Mac:Lib:test have been removed.
- C Developers: you know have control over the Python console if you are embedding
MacPython in another application, thanks to Alexandre Parenteau. :Mac:Demo:embed.html
has very minimal documentation.
- BuildCGIApplet works again.
- The CodeWarrior OSA suite missed quit(). It is back.
- Contrib:morefindertools is gone, the functionality has been integrated into
the standard module findertools.py.
- This release should work on multiprocessor OSX machines.
- The problem with incomplete read()s on sockets has been fixed.
- NavServices is now weaklinked, so this release should work on a virgin Mac OS 8.1.
- Much more: to be supplied.
Known problems
--------------
......@@ -58,10 +15,6 @@ Known problems
This list is probably incomplete, more problems may be listed on the MacPython homepage,
http://www.cwi.nl/~jack/macpython.html.
- MacPython 2.2 (and MacPython 2.1) will not run correctly on a multiprocessor MacOS X
machine, it will quickly deadlock during I/O operations. The GUSI I/O library is suspected,
hints/clues/workarounds are solicited. This problem also occurs intermittently on fast
OS X single-processor machines.
- Tkinter does not work under Carbon.
- The IDE and Tkinter do not work together. Run tkinter programs under PythonInterpreter.
- Tkinter file events do not work, unless you have opened the file through Tcl (but then
......
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