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
_______________________________________________
Numpy-discussion mailing list
[email protected]
http://projects.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to