[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Relative import cannot find .so submodule?

I have a module named rtmidi, and its C submodule named rtmidi/_rtmidi. The distills script builds successfully and successfully creates a build/lib dir with a rtmidi dir in it and the submodule file rtmidi/_rtmidi.cpython-36dm-darwin.so. I have set PYTHONPATH to this lib dir, but rtmidi/__init__.py gives the following error:

Traceback (most recent call last):
  File "main.py", line 6, in <module>
    from pkmidicron import MainWindow, util, ports
  File "/Users/patrick/dev/pkmidicron/pkmidicron/__init__.py", line 1, in <module>
    from .mainwindow import *
  File "/Users/patrick/dev/pkmidicron/pkmidicron/mainwindow.py", line 2, in <module>
    import rtmidi
  File "/Users/patrick/dev/pkmidicron/pyrtmidi/build/lib/rtmidi/__init__.py", line 1, in <module>
    from ._rtmidi import *
ModuleNotFoundError: No module named 'rtmidi._rtmidi?

How does the module finder work in the import system? I assume ti automatically resolves the name _rtmidi.cpython-36dm-darwin.so to _rtmidi? I didn?t have any luck reading the docs on the import system.