Statically linked extension and relative import

Andrew MacIntyre andymac at
Thu May 7 13:34:22 CEST 2009

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), so should be imported as bar
in foo's

from foo import bar

should then work from other code by virtue of the package namespace
(instantiated by then having a bar symbol.

Andrew I MacIntyre                     "These thoughts are mine alone..."
E-mail: andymac at  (pref) | Snail: PO Box 370
        andymac at             (alt) |        Belconnen ACT 2616
Web:               |        Australia

More information about the Python-list mailing list