ImportModule (was Re: [Python-Dev] for the todo list: cStringIO uses string.joinfields)
Gordon McMillan
gmcm@hypernet.com
Sat, 13 May 2000 12:25:42 -0400
Fredrik wrote:
> (btw, the C API reference implies that ImportModule doesn't
> use import hooks. does that mean that cStringIO doesn't work
> under e.g. Gordon's installer?)
You have to fool C code that uses ImportModule by doing an
import first in your Python code. It's the same for freeze. It's
tiresome tracking this stuff down. For example, to use shelve:
# this is needed because of the use of __import__ in anydbm
# (modulefinder does not follow __import__)
import dbhash
# the next 2 are needed because cPickle won't use our import
# hook so we need them already in sys.modules when
# cPickle starts
import string
import copy_reg
# now it will work
import shelve
Imagine the c preprocessor letting you do
#define snarf #include
and then trying to use a dependency tracker.
- Gordon