Size: 353
Comment:
|
← Revision 11 as of 2015-03-30 19:50:22 ⇥
Size: 1745
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
My name is Laurence from Merty Merty doing my final year engineering in Anthropology and Sociology. I did my schooling, secured 94% and hope to find someone with same interests in Shooting sport.<<BR>><<BR>> <<BR>><<BR>> My weblog ... internet speed test telia, [[http://mobiltower.com/?option=com_k2&view=itemlist&task=user&id=1876|relevant site]], |
= Overview = '''zipextimporter.py''' contains the ZipExtImporter class which allows to load Python binary extension modules contained in a zip.archive, without unpacking them to the file system. Call the '''zipextimporter.install()''' function to install the import hook, add a zip-file containing '''.pyd''' or '''.dll''' extension modules to '''sys.path''', and import them. It contains a '''_memimporter.pyd''' extension which uses code from Joachim Bauch's [[http://www.joachim-bauch.de/tutorials/load_dll_memory.html|MemoryModule]] library. This library emulates the win32 api function LoadLibrary. = License = LGPL (because that's what MemoryModule uses). = Sample usage = {{{ >>> import zipextimporter >>> zipextimporter.install() >>> import sys >>> sys.path.append("lib.zip") >>> import _socket >>> _socket.__file__ 'c:\\sf\\py2exe\\hacks\\memimp\\lib.zip\\_socket.pyd' >>> _socket.__loader__ <ZipExtensionImporter at a74480> >>> }}} = Bugs = '''reload()''' on already imported extension modules does not work correctly: It happily loads the extension a second time. zipextimporter doesn't yet work for extensions in packages, but I have a fix for that. = Download = Sourcecode [[http://starship.python.net/crew/theller/memimporter-0.0.1.zip|memimporter-0.0.1.zip]] Installer for Python 2.3 [[http://starship.python.net/crew/theller/memimporter-0.0.1.win32-py2.3.exe|memimporter-0.0.1-win32.py2.3.exe]] Installer for Python 2.4 [[http://starship.python.net/crew/theller/memimporter-0.0.1.win32-py2.4.exe|memimporter-0.0.1-win32.py2.4.exe]] = Comments, Feedback = Feedback appreciated. Log in to this wiki (click to UserPreferences link), and enter your comments here. |
Overview
zipextimporter.py contains the ZipExtImporter class which allows to load Python binary extension modules contained in a zip.archive, without unpacking them to the file system.
Call the zipextimporter.install() function to install the import hook, add a zip-file containing .pyd or .dll extension modules to sys.path, and import them.
It contains a _memimporter.pyd extension which uses code from Joachim Bauch's MemoryModule library. This library emulates the win32 api function LoadLibrary.
License
LGPL (because that's what MemoryModule uses).
Sample usage
>>> import zipextimporter >>> zipextimporter.install() >>> import sys >>> sys.path.append("lib.zip") >>> import _socket >>> _socket.__file__ 'c:\\sf\\py2exe\\hacks\\memimp\\lib.zip\\_socket.pyd' >>> _socket.__loader__ <ZipExtensionImporter at a74480> >>>
Bugs
reload() on already imported extension modules does not work correctly: It happily loads the extension a second time.
zipextimporter doesn't yet work for extensions in packages, but I have a fix for that.
Download
Sourcecode memimporter-0.0.1.zip
Installer for Python 2.3 memimporter-0.0.1-win32.py2.3.exe
Installer for Python 2.4 memimporter-0.0.1-win32.py2.4.exe
Comments, Feedback
Feedback appreciated. Log in to this wiki (click to UserPreferences link), and enter your comments here.