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

Relative import cannot find .so submodule?

Patrick Stinson <patrickkidd at> writes:

> 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/ I have set PYTHONPATH to this lib dir, but rtmidi/ gives the following error:
> Traceback (most recent call last):
>   File "", line 6, in <module>
>     from pkmidicron import MainWindow, util, ports
>   File "/Users/patrick/dev/pkmidicron/pkmidicron/", line 1, in <module>
>     from .mainwindow import *
>   File "/Users/patrick/dev/pkmidicron/pkmidicron/", line 2, in <module>
>     import rtmidi
>   File "/Users/patrick/dev/pkmidicron/pyrtmidi/build/lib/rtmidi/", 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 to _rtmidi? I didn?t have any luck reading the docs on the import system.

Are you running python 3.6?

I tried this on python 3.7 and it worked, but the file is called there (37 for python3.7, and the d is missing, I don't know what that indicates).
Pieter van Oostrum
PGP key: [8DAE142BE17999C4]