Jack Jansen | b952651 | 2001-12-27 23:01:18 +0000 | [diff] [blame] | 1 | How to install Python 2.2 on your Macintosh |
Jack Jansen | cbed91b | 2001-08-03 13:31:36 +0000 | [diff] [blame] | 2 | --------------------------------------------- |
Jack Jansen | 2f9a9e3 | 2001-02-17 22:03:42 +0000 | [diff] [blame] | 3 | |
Jack Jansen | c1218bc | 2001-04-25 22:11:24 +0000 | [diff] [blame] | 4 | This is a MacPython that can run on classic MacOS (from 8.1 |
Jack Jansen | cbe7b1c | 2001-03-06 22:42:12 +0000 | [diff] [blame] | 5 | onwards) and natively on MacOSX. The installer tries to work out whether you can |
Jack Jansen | 6bc62c4 | 2001-12-20 20:41:45 +0000 | [diff] [blame] | 6 | use the Carbon version or not. For Mac OS X users: this version of Python |
| 7 | does not run from the command line, it is a pure "Mac only" app. Use the standard |
| 8 | unix Python from the commandline, the two Pythons will be merged in the future. |
Jack Jansen | 2f9a9e3 | 2001-02-17 22:03:42 +0000 | [diff] [blame] | 9 | |
Jack Jansen | 028f2d5 | 2001-08-29 22:04:08 +0000 | [diff] [blame] | 10 | You should definitely read the Relnotes file too, and the section below about |
Jack Jansen | 5d528b7 | 2001-10-23 22:22:09 +0000 | [diff] [blame] | 11 | toolbox module reorganization. You should also read :Misc:NEWS, which lists |
| 12 | the general (non-mac-dependent) new features of this Python release. |
Jack Jansen | 2f9a9e3 | 2001-02-17 22:03:42 +0000 | [diff] [blame] | 13 | |
Jack Jansen | c1218bc | 2001-04-25 22:11:24 +0000 | [diff] [blame] | 14 | A special note about the active installer: do not background it, it may hang |
Jack Jansen | 2b73fe9 | 2001-03-27 21:38:55 +0000 | [diff] [blame] | 15 | your machine. This is a general problem with Vise active installers, MindVision |
| 16 | are working on it. |
Jack Jansen | 8ef786e | 2001-03-15 14:27:09 +0000 | [diff] [blame] | 17 | |
Jack Jansen | 2f9a9e3 | 2001-02-17 22:03:42 +0000 | [diff] [blame] | 18 | ------ |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 19 | |
| 20 | If this is your first encounter with Python: you definitely need the |
| 21 | common user documentation (common to all platforms). You can find this |
Jack Jansen | 538bd13 | 2000-10-19 21:58:27 +0000 | [diff] [blame] | 22 | (in various forms) on www.pythonlabs.com, www.python.org and |
| 23 | ftp.python.org. Through there, or via |
| 24 | http://www.cwi.nl/~jack/macpython.html you can also find the most recent |
| 25 | MacPython distribution. |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 26 | |
| 27 | Mac-specific documentation is included in this distribution in folder |
| 28 | Mac:Demo. The documentation is sparse, but it will have to serve for |
| 29 | now. The documentation is in HTML format, start with index.html. |
| 30 | |
Jack Jansen | cbe7b1c | 2001-03-06 22:42:12 +0000 | [diff] [blame] | 31 | This installer installs MacPython for classic PPC MacOS, MacPython for Carbon |
Jack Jansen | b952651 | 2001-12-27 23:01:18 +0000 | [diff] [blame] | 32 | (OS X, OS 9 or OS 8 with CarbonLib installed) or both, depending on your |
Jack Jansen | cbe7b1c | 2001-03-06 22:42:12 +0000 | [diff] [blame] | 33 | configuration. By selecting custom install you can bypass these tests and |
| 34 | install what you want. |
Jack Jansen | ecbc1cc | 1998-01-06 12:13:16 +0000 | [diff] [blame] | 35 | |
Jack Jansen | b952651 | 2001-12-27 23:01:18 +0000 | [diff] [blame] | 36 | If you want 68k support you will have get MacPython 1.5.2. |
Jack Jansen | 965226b | 2000-09-14 20:58:24 +0000 | [diff] [blame] | 37 | |
Jack Jansen | 028f2d5 | 2001-08-29 22:04:08 +0000 | [diff] [blame] | 38 | Toolbox module reorganization and more |
| 39 | -------------------------------------- |
| 40 | |
| 41 | You can safely skip this section if this is your first encounter with MacPython. |
| 42 | |
Jack Jansen | b952651 | 2001-12-27 23:01:18 +0000 | [diff] [blame] | 43 | This release has a new organization of the mac-specific modules, and in |
| 44 | general brings the MacPython folder structure more in line with |
Jack Jansen | 028f2d5 | 2001-08-29 22:04:08 +0000 | [diff] [blame] | 45 | unix-Python. This is not only a good idea, it will also immensely |
| 46 | facilitate moving MacPython functionality to an OSX Python that is based |
| 47 | on Mach-O and the unix-Python distribution. But don't worry: MacPython |
| 48 | is definitely not dead yet, and the hope is that the transition will be |
| 49 | as seamless as possible. |
| 50 | |
| 51 | First a change that should not cause too much concern: :Mac:Plugins has |
| 52 | gone, and most of the dynamically loaded modules have moved to |
| 53 | :Lib:lib-dynload. |
| 54 | |
| 55 | Second, and more important: the toolbox modules, such as Res and |
| 56 | Resource, have moved to a Carbon package. So, in stead of "import Res" |
| 57 | you should now say "from Carbon import Res" and in stead of "from Res |
| 58 | import *" you should use "from Carbon.Res import *". For the lifetime of |
| 59 | MacPython 2.2 there is a folder :Mac:Lib:lib-compat on sys.path that |
| 60 | contains modules with the old names which imports the new names after |
| 61 | issuing a warning. |
| 62 | |
| 63 | Note that although the package is called Carbon the modules work fine under |
| 64 | classic PPC, and they are normal classic modules. Also note that some |
| 65 | modules you may think of as toolbox modules (such as Waste) really are not, |
| 66 | and they are not in the Carbon package. |
Jack Jansen | 6bc62c4 | 2001-12-20 20:41:45 +0000 | [diff] [blame] | 67 | |
| 68 | Also, all toolbox modules have been updated to Universal Headers 3.4, and |
| 69 | are (for classic PPC) weak-linked against InterfaceLib so that they should |
| 70 | work on all systems back to MacOS 8.1. Calling an unimplemented function will |
| 71 | raise an exception, not crash your interpreter. |
Jack Jansen | 028f2d5 | 2001-08-29 22:04:08 +0000 | [diff] [blame] | 72 | |
| 73 | Another change related to the OSX growth path is that there is a new module |
| 74 | macresource that you can use to easily open a resource file accompanying your |
| 75 | script. Use "macresource.need("DLOG", MY_DIALOG_ID, "name.rsrc") and if the |
| 76 | given resource is not available (it _is_ available if your script has been |
| 77 | turned into an applet) the given resource file will be opened. This method will |
| 78 | eventually also contain the magic needed to open the resource file on |
| 79 | OSX MachO Python. |
| 80 | |
Jack Jansen | 1a29ed7 | 2001-10-31 10:13:52 +0000 | [diff] [blame] | 81 | Another feature to help with the OSX transition is that if you open a |
| 82 | textfile for reading MacPython will now accept either unix linefeeds |
| 83 | (LF, '\n') or Macintosh linefeeds (CR, '\r') and present both of them |
| 84 | as '\n'. This is done on a low level, so it works for files opened by |
| 85 | scripts as well as for your scripts and modules itself. This can be |
| 86 | turned off with a preference/startup option. |
Jack Jansen | 028f2d5 | 2001-08-29 22:04:08 +0000 | [diff] [blame] | 87 | |
| 88 | But: |
| 89 | - this works only for input, and there's no way to find out what the original |
| 90 | linefeed convention of the file was. |
Jack Jansen | 028f2d5 | 2001-08-29 22:04:08 +0000 | [diff] [blame] | 91 | - Windows \r\n linefeeds are not supported and get turned into \n\n. |
Jack Jansen | b952651 | 2001-12-27 23:01:18 +0000 | [diff] [blame] | 92 | - in 2.3 this feature will be replaced by a more general, platform independent |
| 93 | way of handling files with foreign newline conventions. |
Jack Jansen | 028f2d5 | 2001-08-29 22:04:08 +0000 | [diff] [blame] | 94 | |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 95 | What to install |
| 96 | --------------- |
| 97 | |
Jack Jansen | 12a37b7 | 2000-05-06 23:01:07 +0000 | [diff] [blame] | 98 | The optional parts in this distribution are |
Jack Jansen | 1a29ed7 | 2001-10-31 10:13:52 +0000 | [diff] [blame] | 99 | - TK+PIL: Tkinter and support modules, plus Imaging, the Python image |
| 100 | manipulation package (allows you to read, write and display images and |
| 101 | do lots of operations on them). |
Jack Jansen | cbe7b1c | 2001-03-06 22:42:12 +0000 | [diff] [blame] | 102 | For Carbon MacPython you only get PIL: there is no Tcl/Tk for Carbon yet. |
Jack Jansen | 1a29ed7 | 2001-10-31 10:13:52 +0000 | [diff] [blame] | 103 | This is the reason Classic MacPython is also installed on MacOSX: it |
| 104 | allows you to run Tkinter applications, albeit in the Classic box. |
Jack Jansen | 12a37b7 | 2000-05-06 23:01:07 +0000 | [diff] [blame] | 105 | - img: another imaging package. Has more file format support and is faster |
| 106 | than imaging, but has only limited operations on images. There is a bridge |
| 107 | between the packages. |
| 108 | - Numeric: the LLNL Numeric Python extension. All sorts of nifty operations |
Jack Jansen | 1a29ed7 | 2001-10-31 10:13:52 +0000 | [diff] [blame] | 109 | on matrices and such. This is the most recent version from the |
| 110 | sourceforge archive. |
| 111 | Numeric has moved from Extensions to :Lib:site-python, by the way, |
| 112 | see the release notes. |
| 113 | - Developers kit: all header files and some tools and sample projects |
| 114 | to get you started on writing Python extensions if you have CodeWarrior. |
Jack Jansen | 12a37b7 | 2000-05-06 23:01:07 +0000 | [diff] [blame] | 115 | All these except the DevKit are installed with Easy Install. |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 116 | |
Jack Jansen | cbe7b1c | 2001-03-06 22:42:12 +0000 | [diff] [blame] | 117 | After the installer finishes it automatically launches the appropriate |
Jack Jansen | 1a29ed7 | 2001-10-31 10:13:52 +0000 | [diff] [blame] | 118 | ConfigurePython applet, to finish configuration of your Python. If you |
| 119 | run MacOS9 or later (or 8 with CarbonLib installed) you can switch |
| 120 | back and forth between the classic and Carbon versions of Python by |
| 121 | running either ConfigurePythonClassic or ConfigurePythonCarbon. |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 122 | |
Jack Jansen | 1a29ed7 | 2001-10-31 10:13:52 +0000 | [diff] [blame] | 123 | Moving your Python installation after installing is generally not a |
| 124 | good idea. If you have to do this anyway you should remove your |
| 125 | preference file, run ConfigurePython and remove all .pyc |
| 126 | files. (there's a script zappyc.py that does the latter). |
Jack Jansen | 2e42bdd | 2000-11-14 20:37:37 +0000 | [diff] [blame] | 127 | |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 128 | If you don't have enough memory: the sizes choosen are somewhat |
Jack Jansen | 1a29ed7 | 2001-10-31 10:13:52 +0000 | [diff] [blame] | 129 | arbitrary, and they are as high as they are so that test.autotest runs |
| 130 | with fewer problems. An average Python program can make do with much |
| 131 | less memory. Try lowering the application sizes in the finder "get |
| 132 | info" window, and seeing whether the resulting python is still usable. |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 133 | |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 134 | After installing |
| 135 | ---------------- |
| 136 | |
Jack Jansen | 8a6cdcc | 2000-09-10 12:02:28 +0000 | [diff] [blame] | 137 | It is probably a good idea to run the automatic tests. Start |
Jack Jansen | f7e5714 | 2001-09-08 21:38:26 +0000 | [diff] [blame] | 138 | Python and "import test.regrtest ; test.regrtest.main()". |
Jack Jansen | de51909 | 2000-10-12 21:21:43 +0000 | [diff] [blame] | 139 | |
Jack Jansen | b3be216 | 2001-11-30 14:16:36 +0000 | [diff] [blame] | 140 | test_frozen will fail in MacPython because of different handling on |
| 141 | frozen modules. This should not be a problem in normal use. |
| 142 | |
Jack Jansen | f7e5714 | 2001-09-08 21:38:26 +0000 | [diff] [blame] | 143 | Three tests will fail on MacOS9 with MemoryErrors: |
Jack Jansen | 5d528b7 | 2001-10-23 22:22:09 +0000 | [diff] [blame] | 144 | test_longexp, test_sha and test_zlib (on MacOSX these should pass). |
Jack Jansen | 2b73fe9 | 2001-03-27 21:38:55 +0000 | [diff] [blame] | 145 | |
Jack Jansen | 1a29ed7 | 2001-10-31 10:13:52 +0000 | [diff] [blame] | 146 | If you increase the PythonInterpreter memory partition size they will |
| 147 | pass (but for longexp you have to increase it by an incredible amount, |
| 148 | 400MB is rumoured). It will, however, print some messages about |
| 149 | optional features not supported. You should not worry about these, |
| 150 | they are modules that are supported by Python on other |
| 151 | platforms. Also, if you didn't run compileall before autotesting you |
| 152 | may run out of memory the first time you run the tests. test_socket |
| 153 | may also fail if you have no internet connection. Please also read the |
| 154 | Relnotes file for other minor problems with this distribution. |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 155 | |
Jack Jansen | 1a29ed7 | 2001-10-31 10:13:52 +0000 | [diff] [blame] | 156 | Using Python is most easily done from the IDE, which has a builtin |
| 157 | editor, debugger and other goodies. The alternative is to use |
| 158 | PythonInterpreter, which is the lowlevel interpreter with a |
| 159 | console-window only (similar to Unix Python). |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 160 | |
Jack Jansen | 1a29ed7 | 2001-10-31 10:13:52 +0000 | [diff] [blame] | 161 | If your program uses Tkinter you MUST run it under PythonInterpreter, |
| 162 | Tkinter and IDE are incompatible and your program will fail in strange |
| 163 | ways. |
Jack Jansen | 8a6cdcc | 2000-09-10 12:02:28 +0000 | [diff] [blame] | 164 | |
Jack Jansen | 0b72695 | 1997-10-08 15:34:42 +0000 | [diff] [blame] | 165 | Uninstalling |
| 166 | ------------ |
| 167 | |
Jack Jansen | b952651 | 2001-12-27 23:01:18 +0000 | [diff] [blame] | 168 | Up to three items are installed in the system folder: the interpreter shared |
| 169 | libraries PythonCore and PythonCoreCarbon live in the Extensions |
| 170 | folder and the "Python 2.2 Preferences" file in the Python subfolder |
Jack Jansen | 1a29ed7 | 2001-10-31 10:13:52 +0000 | [diff] [blame] | 171 | in the Preferences folder. All the rest of Python lives in the folder |
| 172 | you installed in. |
Jack Jansen | 0b72695 | 1997-10-08 15:34:42 +0000 | [diff] [blame] | 173 | |
Jack Jansen | b952651 | 2001-12-27 23:01:18 +0000 | [diff] [blame] | 174 | On OSX the libraries are installed in /Library/CFMSupport. The ConfigurePython |
| 175 | applets will complain if you have no right to create the libraries there |
| 176 | (you need Admin privileges). This has one consequence: you will not be able to |
| 177 | run applets unless they reside in the MacPython folder (such as the IDE or |
| 178 | EditPythonPrefs). If you try to run an applet stored elsewhere you will |
| 179 | get a "Cannot locate PythonCore" error message. |
Jack Jansen | c1218bc | 2001-04-25 22:11:24 +0000 | [diff] [blame] | 180 | |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 181 | Things to see |
| 182 | ------------- |
| 183 | |
Jack Jansen | 12a37b7 | 2000-05-06 23:01:07 +0000 | [diff] [blame] | 184 | Start off at Mac:Demo:index.html. Read at least the first few sections. |
| 185 | |
Jack Jansen | 8a6cdcc | 2000-09-10 12:02:28 +0000 | [diff] [blame] | 186 | There are also some interesting files in the "Relnotes" folder that may |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 187 | contain useful information. There is also a first stab at documentation |
| 188 | (plus examples) in the Mac:Demo folder. The toplevel Demo folder has |
Jack Jansen | 12a37b7 | 2000-05-06 23:01:07 +0000 | [diff] [blame] | 189 | machine-independent demos. |
| 190 | The Mac:Lib:test folder also has some programs that show simple |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 191 | capabilities of various modules. |
| 192 | |
Jack Jansen | 1a29ed7 | 2001-10-31 10:13:52 +0000 | [diff] [blame] | 193 | The ":Mac:scripts" folder has some sample scripts. Some are useful, |
| 194 | some are just interesting to look at to see how various things |
| 195 | work. The MkDistr, mkapplet and fullbuild scripts (plus the ones |
| 196 | mentioned above) may help you to understand how to use AppleEvents and |
| 197 | various other toolboxes from python. |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 198 | |
Jack Jansen | 1a29ed7 | 2001-10-31 10:13:52 +0000 | [diff] [blame] | 199 | Other mac-specific goodies can be found in :Mac:Tools, of which the |
| 200 | IDE sources and a CGI framework deserve special mention. |
Jack Jansen | 8a6cdcc | 2000-09-10 12:02:28 +0000 | [diff] [blame] | 201 | |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 202 | The 'img' group of modules, which handles I/O of many different image |
Jack Jansen | d0ddb66 | 1998-04-27 15:14:36 +0000 | [diff] [blame] | 203 | formats is included, but without documentation. You can find docs at |
| 204 | ftp://ftp.cwi.nl/pub/jack/python/img (or somewhere around there). |
| 205 | |
| 206 | Finally there is a Mac:Contrib folder which contains some contributed |
Jack Jansen | 12a37b7 | 2000-05-06 23:01:07 +0000 | [diff] [blame] | 207 | software. |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 208 | |
| 209 | Upgrading from older Python releases |
| 210 | ------------------------------------ |
| 211 | |
Jack Jansen | 1a29ed7 | 2001-10-31 10:13:52 +0000 | [diff] [blame] | 212 | Python releases are independent of each other, with separate |
| 213 | Preferences files, shared library names, etc. The good news is that |
| 214 | this means you can keep your older version around if you are unsure |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 215 | whether to upgrade. The bad news is that your old preference settings |
| 216 | are lost and you have to set them again. |
| 217 | |
Jack Jansen | b952651 | 2001-12-27 23:01:18 +0000 | [diff] [blame] | 218 | After you are satisfied that 2.2 works as expected you can trash |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 219 | anything in the system folder that has "python" in the name and not |
Jack Jansen | b952651 | 2001-12-27 23:01:18 +0000 | [diff] [blame] | 220 | "2.2". |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 221 | |
Jack Jansen | 1a29ed7 | 2001-10-31 10:13:52 +0000 | [diff] [blame] | 222 | The ConfigurePython... applets will try to detect incompatible |
| 223 | preferences files and offer to remove them. This means that re-running |
| 224 | ConfigurePython after a second install of the same MacPython version |
| 225 | (or after moving the Python folder) should fix things up correctly. |
Jack Jansen | 2b73fe9 | 2001-03-27 21:38:55 +0000 | [diff] [blame] | 226 | |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 227 | The installer |
| 228 | ------------- |
| 229 | |
Jack Jansen | 12a37b7 | 2000-05-06 23:01:07 +0000 | [diff] [blame] | 230 | The installer for this product was created using Installer VISE |
| 231 | from MindVision Software. For more information on Installer VISE, |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 232 | contact: |
| 233 | MindVision Software |
| 234 | 7201 North 7th Street |
| 235 | Lincoln, NE 68521-8913 |
| 236 | Voice: 402-477-3269 |
| 237 | Fax: 402-477-1395 |
| 238 | Internet: mindvision@mindvision.com |
| 239 | http://www.mindvision.com |
| 240 | |
Just van Rossum | d16199a | 2001-12-13 12:58:09 +0000 | [diff] [blame] | 241 | Just van Rossum <just@letterror.com> created the initial version of the |
Jack Jansen | 12a37b7 | 2000-05-06 23:01:07 +0000 | [diff] [blame] | 242 | installer (with Installer Vise Lite), and Jack worked from there. |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 243 | |
Jack Jansen | 01ae9eb | 2000-04-22 22:57:25 +0000 | [diff] [blame] | 244 | Thanks! |
| 245 | ------- |
| 246 | |
Jack Jansen | 965226b | 2000-09-14 20:58:24 +0000 | [diff] [blame] | 247 | Thanks go to the whole Python community with Guido in the lead, of |
| 248 | course. Mac-specific thanks go to the pythonmac-sig, Just van Rossum, |
| 249 | Corran Webster, Tony Ingraldi, Erik van Blokland, Bill Bedford, Chris |
| 250 | Stern, Gordon Worley, Oliver Steele, M. Papillon, Steven Majewski, David |
Jack Jansen | 538bd13 | 2000-10-19 21:58:27 +0000 | [diff] [blame] | 251 | Goodger, Chris Barker, Luc Lefebvre, Tattoo Mabonzo K., Russell Finn, |
Jack Jansen | f7e5714 | 2001-09-08 21:38:26 +0000 | [diff] [blame] | 252 | Tom Bridgman, Russel Owen, Pascal Oberndoerfer, Dean Draayer, |
Jack Jansen | 6bc62c4 | 2001-12-20 20:41:45 +0000 | [diff] [blame] | 253 | Alexandre Parenteau, Donovan Preston, Daniel Brotsky, Jason Harper, |
Jack Jansen | 402dd6e | 2002-01-25 16:13:38 +0000 | [diff] [blame] | 254 | Nitin Ganatra, Jacob Kaplan-Moss, Michael J. Barber, Tom Loredo |
Jack Jansen | de1d495 | 2001-08-27 15:30:48 +0000 | [diff] [blame] | 255 | and all the other people who provided feedback, code or both! |
Jack Jansen | 01ae9eb | 2000-04-22 22:57:25 +0000 | [diff] [blame] | 256 | |
Jack Jansen | 1a29ed7 | 2001-10-31 10:13:52 +0000 | [diff] [blame] | 257 | MacPython includes waste, a TextEdit replacement which is (c) 1998 |
| 258 | Marco Piovanelli. |
Jack Jansen | de51909 | 2000-10-12 21:21:43 +0000 | [diff] [blame] | 259 | |
Jack Jansen | 1a29ed7 | 2001-10-31 10:13:52 +0000 | [diff] [blame] | 260 | A special mention is deserved by Matthias Neeracher, who has written |
| 261 | the brilliant unix-compatible GUSI I/O library, without which |
| 262 | MacPython would not have sockets or select, and to Alexandre |
| 263 | Parenteau, who has ported this library to Carbon. |
Jack Jansen | 9080e9b | 2001-01-23 21:03:52 +0000 | [diff] [blame] | 264 | |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 265 | Feedback |
| 266 | -------- |
| 267 | |
| 268 | Send bug reports, suggestions, contributions and fanmail to |
Jack Jansen | ecbc1cc | 1998-01-06 12:13:16 +0000 | [diff] [blame] | 269 | <jack@cwi.nl>. However, a better way to discuss MacPython is to join the |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 270 | <pythonmac-sig@python.org> mailing list, which is explicitly meant for |
| 271 | this purpose. |
| 272 | |
Jack Jansen | b25ec91 | 2001-03-05 15:44:55 +0000 | [diff] [blame] | 273 | |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 274 | Jack Jansen |
Jack Jansen | b952651 | 2001-12-27 23:01:18 +0000 | [diff] [blame] | 275 | CWI |
| 276 | Kruislaan 413 |
| 277 | 1098 SJ Amsterdam |
Jack Jansen | 83cab72 | 1997-08-26 13:25:06 +0000 | [diff] [blame] | 278 | the Netherlands |
| 279 | |
| 280 | <jack@cwi.nl>, http://www.cwi.nl/~jack |