Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #71684

Re: Loading modules from files through C++

From Stefan Behnel <stefan_ml@behnel.de>
Subject Re: Loading modules from files through C++
Date 2014-05-17 15:26 +0200
References <5376ACE7.8030706@rptd.ch> <ll7iu1$oge$1@ger.gmane.org> <53775D68.2010009@rptd.ch>
Newsgroups comp.lang.python
Message-ID <mailman.10084.1400333233.18130.python-list@python.org> (permalink)

Show all headers | View raw


Roland Plüss, 17.05.2014 15:00:
> On 05/17/2014 01:58 PM, Stefan Behnel wrote:
>> Roland Plüss, 17.05.2014 02:27:
>>> I'm using Python in an embedded situation. In particular I have to load
>>> python scripts through a memory interface so regular python module
>>> loading can not be used. I got working so far a module loader object
>>> I've added using C++ to sys.meta_path . Now I'm totally stuck at the
>>> finally loading step.
>>>
>>> I've got this a C++ loader method "load_module(fullname)" which does
>>> load the requested module script files into a null-terminated string. I
>>> know that "load_module" has to return the module PyObject*. But I can't
>>> get the python source in the c-string into a module PyObject*.
>>> [...]
>>> Can anybody help how in gods name one is supposed to create a module
>>> from an in-memory c-string when called from within load_module (or
>>> anywhere)?
>> Looks like you want to implement a SourceLoader:
>>
>> https://docs.python.org/3.4/library/importlib.html#importlib.abc.SourceLoader
>>
>> I recommend implementing this in Python code instead of C code, though.
>> Much easier. Cython can help with the integration between both.
>
> That doesn't work in 2.x, doesn't it?

Is there a reason you have to use Py2?

Anyway, PEP 302 predates Py3 by a couple of years:

http://legacy.python.org/dev/peps/pep-0302/

Stefan

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: Loading modules from files through C++ Stefan Behnel <stefan_ml@behnel.de> - 2014-05-17 15:26 +0200

csiph-web