[Numpy-discussion] Problem with numpy on Leopard

Brian Granger ellisonbg.net@gmail....
Thu Nov 1 14:50:10 CDT 2007


Hi,

It turns out that Leopard includes numpy.  But it is an older version
that won't detect the version string of gfortran correctly (thus
preventing scipy from being installed).  But, when I downloaded the
numpy svn and did python setup.py python was still finding the older
version of numpy.

The problem is a trivial but unfortunate ordering of things in the
default sys.path.

Here is the message that I sent to the pythonmac-sig about this:
************************************************************************


I have been playing around with python on Leopard today.  Overall, I
am very pleased, but I just ran into a problem that will affect a
large number of users.

In Leopard, Apple includes a number of python packages in:

ls /System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python

CoreGraphics                            easy_install.pyc
         setuptools-0.6c7-py2.5.egg-info
OpenSSL                                 fetchmailconf.py
         site.py
PyObjC                                  fetchmailconf.pyc
         site.pyc
PyObjC.pth                              fetchmailconf.pyo
         site.pyo
PyRSS2Gen-1.0.0-py2.5.egg-info          libsvn
         svn
PyRSS2Gen.py                            macholib
         twisted
PyRSS2Gen.pyc
macholib-1.2.1.dev-py2.5.egg-info       wx
Twisted-2.4.0-py2.5.egg-info            modulegraph
         wx-2.8-mac-unicode
Twisted_Words-0.4.0-py2.5.egg-info
modulegraph-0.7.2.dev-py2.5.egg-info    wxPython
Twisted_Xish-0.4.0-py2.5.egg-info       numpy
         wxPython_common-2.8.4.0-py2.5.egg-info
altgraph                                numpy-1.0.1-py2.5.egg-info
         wxaddons
altgraph-0.6.8.dev-py2.5.egg-info       pkg_resources.py
         wxaddons-2.8.4.0-py2.5.egg-info
bdist_mpkg                              pkg_resources.pyc
         wxversion.py
bdist_mpkg-0.4.3.dev-py2.5.egg-info     py2app
         wxversion.pyc
bonjour
py2app-0.4.1.dev-py2.5.egg-info         xattr
bonjour_py-0.2-py2.5.egg-info           pyOpenSSL-0.6-py2.5.egg-info
         xattr-0.5-py2.5.egg-info
dateutil
python_dateutil-1.2-py2.5.egg-info      zope
easy_install.py                         setuptools
         zope.interface-3.3.0-py2.5.egg-info

At first I was very excited to see that Apple is including things like
setuptools, numpy, twisted......

But then I saw that some of the versions are quite old.  Naturally, I
grabbed the latest numpy version from svn and did a python setup.py
install.  Everything built just fine, but when I did an import numpy,
I got Apples version:

>>> import numpy
>>> print numpy.__file__
/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/numpy/__init__.pyc

After looking at sys.path, it became clear what the problem is:

Running python setup.py install on Leopard causes packages to be
installed in the usual:

/Library/Python/2.5/site-packages

But, Apple put this directory _after_

/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python

in sys.path.  This, even if a user installs a newer version of one of
these packages, the builtin  python will always use Apple's older
version.

Obviously, I can set PYTHONPATH to get
/Library/Python/2.5/site-packages earlier in the sys.path list, but
this is going to bite many people.  Is this a bug that I should report
to Apple, or is there a better work around?  Also, this information
needs to be posted somewhere so we don't see this question a billion
times on various lists over the lifetime of Leopard.

Cheers,

Brian


More information about the Numpy-discussion mailing list