imputils problem
Rainer Deyke
root at rainerdeyke.com
Sun Dec 10 13:30:47 EST 2000
More information about the Python-list mailing list
Sun Dec 10 13:30:47 EST 2000
- Previous message (by thread): imputils problem
- Next message (by thread): corba, soap, com, etc...
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Magnus Heino" <magnus.heino at rivermen.se> wrote in message news:90viai$slg$1 at merlin.rembrandtstr.bocholt.de... > > > I've been having a problem with imputils: a module imported through a > > custom > > importer seems unable in import .pyd modules. In particular, if I import > > the zipfile module though a custom importer, it is unable to find the zlib > > module. Does anybody here know how to fix this? > > I have it working, but I had to tweek imputils.py a bit. Strangely enough, the problem went away when I moved zlib.pyd from the DLLs subdirectory to the main directory of my program (which is a C++ program with embedded Python 2.0). The question: why did this change anything? Does the default __import__ search directories that are not in sys.path? > How are you doing things? I took inspiration from the "small" Python distribution and provided a custom site.py: --- start.py --- import marshal import imputil import cStringIO import sys import struct class ArchiveImporter(imputil.Importer): def __init__(self, name): self.file = open(name, 'rb') (pos,) = struct.unpack('<l', self.file.read(4)) self.file.seek(pos) self.toc = marshal.load(self.file) def get_code(self, parent, modname, fqname): name = fqname.replace('.', '/') if self.toc.has_key(name): return (0, self.__load(name), {}) elif self.toc.has_key(name + '/__init__'): return (1, self.__load(name + '/__init__'), {}) else: return None def __load(self, name): self.file.seek(self.toc[name]) return marshal.load(self.file) if __name__ != '__main__': imputil.ImportManager().install() sys.path.append(imputil.BuiltinImporter()) sys.path.append(ArchiveImporter('code')) --- end site.py --- -- Rainer Deyke (root at rainerdeyke.com) Shareware computer games - http://rainerdeyke.com "In ihren Reihen zu stehen heisst unter Feinden zu kaempfen" - Abigor
- Previous message (by thread): imputils problem
- Next message (by thread): corba, soap, com, etc...
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list