mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	
		
			
	
	
		
			63 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			63 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
|   | 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. | ||
|  | 
 |