| Building a MacPython-OSX on top of Jaguar's /usr/bin/python |
| ----------------------------------------------------------- |
| |
| One way of getting MacPython functionality is to use the Python that Apple |
| supplies since MacOSX 10.2, and extend this with the missing bits. |
| |
| (Another way is building a framework python, see Mac/OSX/README for |
| details on that). |
| |
| Preparation |
| ----------- |
| |
| First of all you have to fix two things in the python distributed |
| by Apple. This paragraph is valid for 10.2 through 10.2.2, so if you |
| have a later version of Jaguar your mileage may vary. |
| |
| 1. /usr/lib/python2.2/config/Makefile has an erronuous reference to |
| building for intel processors. Edit the file with sudo, and change |
| the line |
| LDFLAGS= -arch i386 -arch ppc |
| to |
| LDFLAGS= -arch ppc |
| 2. /usr/lib/python2.2/site-packages is not writeable except by root. |
| Make it writeable by administrators by doing |
| sudo chgrp admin /usr/lib/python2.2/site-packages |
| sudo chmod g+w /usr/lib/python2.2/site-packages |
| Alternatively you can do the make's below as superuser, but I |
| would advise against this. |
| |
| Building |
| -------- |
| |
| Typing "make -f Makefile.jaguar" will build and install almost everything you need. |
| If you also want the "pythonw" unix program, which allows you to run GUI scripts from |
| a Terminal window, you should also do "sudo make -f Makefile.jaguar install_pythonw". |
| |
| What do you get |
| --------------- |
| |
| After the make you will have a folder /Applications/MacPython-OSX that contains the |
| IDE and BuildApplet applications. Also, you will find a folder "python-additions" there |
| that contains the MacPython-specific additions to your installed Python. The only thing |
| that is installed outside the /Applications/MacPython-OSX folder is |
| /usr/lib/python2.2/site-packages/MacPython.pth, which is the magic file that will make |
| python find the new modules. |
| |
| Uninstalling |
| ------------ |
| 1. Remove /Applications/MacPython-OSX |
| 2. Remove /usr/lib/python2.2/site-packages/MacPython.pth |
| |
| How does it work? |
| ----------------- |
| |
| Makefile.jaguar does most of the work by calling on Makefile (which is normally used |
| to build the Mac extensions for a framework-based python) after setting various |
| variables such that everything is built for /usr/bin/python. Some extension modules |
| (that are included in framework python 2.3a0, but missing from static python 2.2) |
| are built with setup.py. And some Carbon modules are built to replace their 2.2 |
| versions, which lack required functionality. The stubs in Mac/Lib/Carbon know about |
| this overriding. |
| |