|
From: <kon...@la...> - 2006-01-23 11:49:47
|
On Jan 19, 2006, at 18:31, Andrew Straw wrote: > For me, and I suspect for most others in favor of the new way, the > answer boils down to using eggs with out-of-the box numpy. Eggs are =20= > the ... Thanks for explaining this issue in some detail! > =3D Why can't eggs use traditional include locations? =3D > Multiple version support. Using eggs, it is possible to have multiple > versions of the same distribution, such as numpy, installed within a > single Python installation. (I use "distribution" to mean =20 > collection of How is multiple version support in eggs supposed to work in the case =20 of packages that contain C modules? Let me give a concrete example: Numeric, ScientificPython, and MMTK. =20 Numeric provides a C API through its header files. ScientificPython =20 and MMTK both contain C modules that depend on that C API. =20 ScientificPython also provides a C API for two of its modules, which =20 in turn MMTK depends on. Suppose I would like to have both Numeric 23.5 and Numeric 24.2 on my =20= machine, and also Scientific 2.4.2 and Scientific 2.5.1. I would then =20= need four sets of the binary modules of Scientific: 1) 2.4.2 for Numeric 23.5 2) 2.4.2 for Numeric 24.2 3) 2.5.1 for Numeric 23.5 4) 2.5.1 for Numeric 24.2 I would also need four sets of the binary modules of MMTK, assuming =20 that I am happy with just one version of MMTK. Unless some mechanism (which would have to be part of egg =20 construction or egg installation) makes sure that the correct =20 binaries are used for the particular combination of versions that I =20 wish to use, I will end up having lots of mysterious crashes =20 resulting from incompatible binary versions. If the egg mechanism does take care of such dependencies, then it =20 could easily (and thus should) take care of selecting the right =20 combination of header files. If it doesn't, then it should not be =20 used at all for packages containing C or Pyrex modules, and packages =20 like numpy should better not accomodate to eggs because in the long =20 run that will only cause support headaches. Konrad. -- --------------------------------------------------------------------- Konrad Hinsen Laboratoire L=E9on Brillouin, CEA Saclay, 91191 Gif-sur-Yvette Cedex, France Tel.: +33-1 69 08 79 25 Fax: +33-1 69 08 82 61 E-Mail: kh...@ce... --------------------------------------------------------------------- |