[Pythonmac-SIG] easy_install broken on new macbook (includes solution)

Bob Ippolito bob at redivi.com
Mon Oct 20 01:50:10 CEST 2008


I dunno about the bug, but simple_json is not what you should be
installing... The package name is simplejson.

-bob

On Sun, Oct 19, 2008 at 4:42 PM, Amos Latteier <amos at latteier.com> wrote:
> Hi,
>
> I just got a new aluminum macbook. It's great expect that it seems to
> ship with a broken easy_install. I tracked down the problem and
> submitted a bug to apple (bug #6302565). I'm sending the details
> to this mailing list in hopes that it can help others, or perhaps others
> can point out a better solution.
>
> -Amos
>
> The easy_install python command line tool fails to install python
> package that include c extensions on my new macbook.
>
> Here's how to reproduce the problem:
>
>  $ easy_install simple_json
>
> You will get an error message that ends with an error message like this:
>
>  No eggs found in
> /var/folders/Bb/BbkWGUJ4FGe9coHkryLH4U+++TI/-Tmp-/easy_install
>  3CNYn-/simplejson-2.0.3/egg-dist-tmp-EOUkj5 (setup script problem?)
>  error: Could not find required distribution simplejson
>
> You don't have to use simple_json, any python package with c
> extensions will trigger the problem.
>
> The problem is that the apple-specific version of pkg_resources.py (in
> /System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python)
> shipped with the new macbooks changes the macos version number (line
> 165):
>
>  def _macosx_vers(_cache=[]):
>      if not _cache:
>          # don't call sw_vers because that causes a SIGTRAP in gdb
>          _cache = [['10.5', '1']]
>      return _cache[0]
>
> Previously the version was 10.5, not 10.5.1. This change is a problem
> because the regular expression that checks version numbers (on line
> 194) doesn't work with it.
>
>  macosVersionString = re.compile(r"macosx-(\d+)\.(\d+)(.*)")
>
> One solution is to change the regular expression to something like the
> following:
>
>  macosVersionString = re.compile(r"macosx-(\d+)\.(\d+).*?-(.*)")
>
> I have verified that this fix solves the problem for me.
> _______________________________________________
> Pythonmac-SIG maillist  -  Pythonmac-SIG at python.org
> http://mail.python.org/mailman/listinfo/pythonmac-sig
>


More information about the Pythonmac-SIG mailing list