When I run the following from a bash shell on my Mac:
$ file /usr/bin/python
I get the following three lines:
/usr/bin/python (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/python (for architecture i386): Mach-O executable i386
/usr/bin/python (for architecture ppc7400): Mach-O executable ppc
this would seem to indicate that Python has been compiled for all three architectures or something like that? I believe, based on some errors I had while trying to setup MySQL, that the version I'm using is the 64-bit version. So two questions:
How would I have known that?
How could I change Python to be 32-bit instead? Something less drastic than re-compile with different compile settings?
Why does arch
from a bash shell return i386
which would seem to indicate I'm not in "64-bit mode" when I know based on my processor I'm running a 64-bit Mac?
Sorry these are probably all newbie questions, the whole 32/64-bit thing is frustrating the crap out of me and I'm sure there are some commands/tools that would make this easier.
You can find out a lot about the Python version you're running via the platform
module (the sys
module also has a few simple helpers)
On Mac OS X, you can run a "fat binary" with your chosen architecture with, for example,
arch -i386 /usr/bin/python
I do not recommend altering /usr/lib/python itself (with the lipo
command) -- you could easily make your system unusable by tampering with system files. Maybe installing a separate Python from python.org (for application purposes) while leaving the system Python alone is an acceptable strategy to you -- it's definitely safer than altering system files!-)
As for your third question, hmmm, this one's a stumper to me -- and definitely a question for superuser.com (as well as completely unrelated to Python, it also seems completely unrelated to programming;-).