Patrick Stinson <patrickk...@gmail.com> 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/_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.
Are you running python 3.6? I tried this on python 3.7 and it worked, but the file is called _rtmidi.cpython-37m-darwin.so there (37 for python3.7, and the d is missing, I don't know what that indicates). -- Pieter van Oostrum www: http://pieter.vanoostrum.org/ PGP key: [8DAE142BE17999C4] -- https://mail.python.org/mailman/listinfo/python-list