Relative import cannot find .so submodule?
Barry
barry at barrys-emacs.org
Mon Jan 13 04:10:22 EST 2020
> On 12 Jan 2020, at 05:27, Patrick Stinson <patrickkidd at gmail.com> wrote:
>
> 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.
Use python -vv then import you module. Python will print debug messages showing where it looks for the modules. Usually that helps find the problem with the PYTHONPATH.
Barry
>
> Thanks!
> -Patrick
> --
> https://mail.python.org/mailman/listinfo/python-list
More information about the Python-list
mailing list