• Importlib behaves differently when importing pyd file

    From Jach Feng@21:1/5 to All on Tue Nov 15 22:52:07 2022
    My working directory d:\Works\Python\ has a package 'fitz' looks like this:

    ....fitz\
    ........__init__.py
    ........fitz.py
    ........utils.py
    ........_fitz.pyd

    There is a statement in fitz.py:
    ....return importlib.import_module('fitz._fitz')

    It works fine under Python 3.4 interpreter:
    import fitz


    But under Python 3.8 I get an exception:
    import fitz
    Traceback(...
    ...
    ...
    ImportError: DLL load failed while importing _fitz


    I work under Windows7 64bit with Python 32bit. Can anyone help?


    --Jach

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dieter Maurer@21:1/5 to Jach Feng on Wed Nov 16 18:11:52 2022
    Jach Feng wrote at 2022-11-15 22:52 -0800:
    My working directory d:\Works\Python\ has a package 'fitz' looks like this:

    ....fitz\
    ........__init__.py
    ........fitz.py
    ........utils.py
    ........_fitz.pyd

    There is a statement in fitz.py:
    ....return importlib.import_module('fitz._fitz')

    It works fine under Python 3.4 interpreter:
    import fitz


    But under Python 3.8 I get an exception:
    import fitz
    Traceback(...
    ...
    ...
    ImportError: DLL load failed while importing _fitz


    The Python C-API is Python version dependent.
    Your `_fitz.pyd` may need to be recreated for Python 3.8.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jach Feng@21:1/5 to All on Wed Nov 16 18:58:58 2022
    Dieter Maurer 在 2022年11月17日 星期四凌晨1:12:20 [UTC+8] 的信中寫道:
    Jach Feng wrote at 2022-11-15 22:52 -0800:
    My working directory d:\Works\Python\ has a package 'fitz' looks like this:

    ....fitz\
    ........__init__.py
    ........fitz.py
    ........utils.py
    ........_fitz.pyd

    There is a statement in fitz.py:
    ....return importlib.import_module('fitz._fitz')

    It works fine under Python 3.4 interpreter:
    import fitz


    But under Python 3.8 I get an exception:
    import fitz
    Traceback(...
    ...
    ...
    ImportError: DLL load failed while importing _fitz

    The Python C-API is Python version dependent.
    Your `_fitz.pyd` may need to be recreated for Python 3.8.
    It seems that I have to install pymupdf to use fitz. Thank you.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)