title: Why can't I change the system default python the way Apple says I can?
body: <p>On this help page</p>
  
  <p><a href="http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man1/python.1.html" rel="noreferrer">http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man1/python.1.html</a></p>
  
  <p>Apple says:</p>
  
  <blockquote>
    <p>CHANGING THE DEFAULT PYTHON</p>
    
    <p>Using</p>
  
  <pre><code>       % defaults write com.apple.versioner.python Version 2.5
  </code></pre>
    
    <p>will make version 2.5 the user default when running the both the
    python and pythonw commands (versioner
         is the internal name of the version-selection software used).</p>
  </blockquote>
  
  <p>This simply doesn't work!</p>
  
  <pre><code>tppllc-Mac-Pro:~ swirsky$ python --version
  Python 2.7
  tppllc-Mac-Pro:~ swirsky$ defaults write com.apple.versioner.python Version 2.5
  tppllc-Mac-Pro:~ swirsky$ python --version
  Python 2.7
  </code></pre>
  
  <p>and neither does the switch to make 32-bit python the default</p>
  
  <blockquote>
    <p>64-BIT SUPPORT</p>
    
    <p>Version 2.6 supports 64-bit execution (which is on by default). 
    Version 2.5 only supports 32-bit execution. </p>
    
    <p>Like the version of Python, the python command can select between 32
    and 64-bit execution (when both are available).  Use:</p>
  
  <pre><code>       % defaults write com.apple.versioner.python Prefer-32-Bit -bool yes
  </code></pre>
    
    <p>to make 32-bit execution the user default (using
    <code>/Library/Preferences/com.apple.versioner.python</code>
    will set the system-wide default).  The environment variable
    <code>VERSIONER_PYTHON_PREFER_32_BIT</code> can
    also be used (has precedence over the preference file):</p>
  
  <pre><code>       % export VERSIONER_PYTHON_PREFER_32_BIT=yes #
  </code></pre>
    
    <p>Bourne-like shells or</p>
  
  <pre><code>       % setenv VERSIONER_PYTHON_PREFER_32_BIT yes #
  </code></pre>
    
    <p>C-like shells</p>
  </blockquote>
  
  <p>I'm down a rathole here. I'm trying to get wxpython to run. But it won't run on the Apple Python 2.7 because there's no 64-bit carbon support, and cocoa support isn't finished in wx yet.</p>
  
  <p><strong>=== UPDATE ===</strong></p>
  
  <p>Thanks for all your help! The mystery's been solved. One thing that confused me is I had no trouble running (32-bit) wxpython on my laptop (a recent i5 macbook pro), but it wouldn't run on my desktop (a recent i7 mac pro). </p>
  
  <p>They both had python 2.7, and I assumed it was the same. But it wasn't!</p>
  
  <p>The Mac Pro had the x86_64 build</p>
  
  <pre><code>tppllc-Mac-Pro:~ swirsky$ file `which python`
  /Library/Frameworks/Python.framework/Versions/2.7/bin/python: Mach-O universal binary with 3 architectures
  /Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture i386):   Mach-O executable i386
  /Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture ppc7400):    Mach-O executable ppc
  /Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture x86_64): Mach-O 64-bit executable x86_64
  </code></pre>
  
  <p>and the laptop didn't:</p>
  
  <pre><code>thrilllap-2:thrillscience swirsky$ file `which python`
  /Library/Frameworks/Python.framework/Versions/2.7/bin/python: Mach-O universal binary with 2 architectures
  /Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture ppc):    Mach-O executable ppc
  /Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture i386):   Mach-O executable i386
  </code></pre>
  
  <p>I'll re-install the one without the x86_64 version on my desktop machine, as I don't need 64-bit support yet.</p>