[Pythonmac-SIG] Minimal Install Results

Glenn Andreas gandreas at delver.com
Wed May 12 10:06:24 EDT 2004


So to see exactly what is available on a "minimal" install (no 
optional packages at all), I installed a minimal Jaguar install to a 
spare partition.

Python.framework is installed, but it contains nothing useful:

[Library/Frameworks/Python.framework] gandreas% ls -lR
total 0
drwxr-xr-x  3 root  wheel  102 13 Sep  2003 Versions/

./Versions:
total 0
drwxr-xr-x  3 root  wheel  102 13 Sep  2003 2.3/

./Versions/2.3:
total 0
drwxr-xr-x  3 root  wheel  102 13 Sep  2003 lib/

./Versions/2.3/lib:
total 0
drwxr-xr-x  4 root  wheel  136 13 Sep  2003 python2.3/

./Versions/2.3/lib/python2.3:
total 0
drwxr-xr-x  3 root  wheel  102 13 Sep  2003 lib-dynload/
drwxr-xr-x  5 root  wheel  170 13 Sep  2003 plat-mac/

./Versions/2.3/lib/python2.3/lib-dynload:
total 392
-rwxr-xr-x  1 root  wheel  197212 13 Sep  2003 _CoreGraphics.so*

./Versions/2.3/lib/python2.3/plat-mac:
total 704
-rw-r--r--  1 root  wheel   46357 11 Sep  2003 CoreGraphics.py
-rw-r--r--  1 root  wheel  154270 13 Sep  2003 CoreGraphics.pyc
-rw-r--r--  1 root  wheel  154270 13 Sep  2003 CoreGraphics.pyo


On the more annoying side, in /usr/bin we get:

[OSX3/usr/bin] gandreas% ls -l py*
-rwxr-xr-x  1 root  wheel   44 13 Sep  2003 pydoc*
lrwxr-xr-x  1 root  wheel    9  5 Oct  2003 python@ -> python2.3
lrwxr-xr-x  1 root  wheel   72  5 Oct  2003 python2.3@ -> 
../../System/Library/Frameworks/Python.framework/Versions/2.3/bin/python
lrwxr-xr-x  1 root  wheel   10  5 Oct  2003 pythonw@ -> pythonw2.3
-rwxr-xr-x  1 root  wheel  122  8 Jun  2003 pythonw2.3*


So the net result is even worse than expected - there is 
/usr/bin/python installed, but it can't be run (since there is no 
interpreter in the framework), and the framework doesn't contain the 
shared library.

So if you test for the existance of /usr/bin/python before running a 
script, that won't work.  If you embed python using the shared 
framework, it probably won't even launch correctly since the shared 
binary isn't there.  So Bob's careful safety net for PyObjC won't 
work either unless you make sure to weak-link the framework (I'm not 
sure how doable that is, since I though weak-linking was on a 
per-symbol basis, so all the symbols for Python would need to be 
weak-linked).


-- 
Glenn Andreas                      gandreas at gandreas.com
mondo blobbo, Cythera, Theldrow, oh my!
Mad, Bad, and Dangerous to Know



More information about the Pythonmac-SIG mailing list