Nicolas Fleury wrote:
All my code in under a single package. Is it possible to override the
import mechanism only for modules under that package and sub-packages so
that?:
Yes. A package module has a __path__ attribute to which
you can add additional directories to be searched for
submodules of that package. So in your package's
__init__.py you can do something like
if sys.version == "2.4":
subdir = "python24"
elif sys.version == "2.3":
subdir = "python23"
__path__.append(os.path.join(os.path.basename(__file__, subdir)))
The directory structure is then
yourpackage/
__init__.py
python23/
cppmymodule.pyd (2.3 version)
python24/
cppmymodule.pyd (2.4 version)
but at run time it will appear as though one version or
the other of cppmymodule is a direct submodule of
yourpackage.
--
Greg Ewing, Computer Science Dept,
University of Canterbury,
Christchurch, New Zealand
http://www.cosc.canterbury.ac.nz/~greg
--
http://mail.python.org/mailman/listinfo/python-list