Statically linked extension and relative import

David Cournapeau cournape at
Thu May 7 07:45:17 EDT 2009

On Thu, May 7, 2009 at 8:34 PM, Andrew MacIntyre
<andymac at> wrote:
> David Cournapeau wrote:
>> Hi,
>> I am trying to build a 3rd party extension and link it statically to
>> python. I managed to get things working by customizing Setup.local in
>> python source tree, but I have a problem for imports of the ''
>> form. For example, let's say the 3rd party module is laid out as
>> follows:
>> foo/
>> foo/
>> and contains:
>> import
>> I can build the bar extension and link it statically to python such as
>> from python, "import bar" works. But how can I make it "recognize"
>> "from foo import bar" ? I tried to understand how this works at the C
>> level in import.c, but I am a bit lost in the code. The ultimate goal
>> is to manage to get code coverage of the C code of the extension
>> through gcov, which does not support coverage of shared libraries ATM.
> If you link the bar extension statically, it is not in the foo package
> namespace (which is why "import bar" works),

Yes, I understand this.

> so should be imported as bar
> in foo's
> from foo import bar

But then I have to modify the 3rd party package for statically linked
versions. This means in particular that the same source cannot be used
for static and dynamic builds ?



More information about the Python-list mailing list