• Kirill Smelkov's avatar
    *: Do not use relative imports · 3846997b
    Kirill Smelkov authored
    Because of the way wendelin.core organizes its in-tree python importing
    redirector (see wendelin.py) it is possible to import the same module
    twice with python thinking it is importing two different modules. For
    example when installed in develop mode python resolves the following
    imports to the same bigfile/__init__.py
    
        import wendelin.bigfile
        import bigfile
    
    but tries to load that module twice and independently. Which leads to
    virtmem DSO, linked to from under bigfile/_bigfile extension, being
    initialized twice and complaining about that because only single gil
    hook should be requested to be installed:
    
        (py39.venv) kirr@deca:~/src/wendelin/wendelin.core$ python
        Python 3.9.19+ (heads/3.9:40d77b93672, Apr 12 2024, 06:40:05)
        [GCC 12.2.0] on linux
        Type "help", "copyright", "credits" or "license" for more information.
        >>> import wendelin.bigfile
        >>> import bigfile
        python: bigfile/virtmem.c:106: virt_lock_hookgil: Assertion `!(virtmem_gilhooks)...
    3846997b