<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">The answer is that you have to specify the root dir for the package or module. I did it like this (notice comment for alternative route using install() method):<div class=""><br class=""></div><div class=""><div style="color: rgb(54, 54, 54); background-color: rgb(255, 255, 255); font-family: Menlo, Monaco, "Courier New", monospace; line-height: 18px; white-space: pre;" class=""><div class="">    preinstalls = [ <span style="color: rgb(162, 86, 55);" class="">'Python'</span> ]</div><div class="">    provides = { <span style="color: rgb(162, 86, 55);" class="">'six'</span>: PythonModule() }</div><br class=""><div class="">    <span style="color: rgb(63, 151, 223);" class="">def</span> <span style="color: rgb(99, 99, 36);" class="">get_archive_name</span>(<span style="color: rgb(9, 89, 132);" class="">self</span>):</div><div class="">        <span style="color: rgb(157, 78, 150);" class="">return</span> <span style="color: rgb(162, 86, 55);" class="">''</span></div><br class=""><div class="">    <span style="color: rgb(162, 86, 55);" class="">""" Could also possibly get &.install() to copy six.py from</span></div><div class=""><span style="color: rgb(162, 86, 55);" class="">    os.path.join(os.path.dirname(os.path.abspath(__file__)), 'site-packages') to</span></div><div class=""><span style="color: rgb(162, 86, 55);" class="">    Component.target_modules_dir (/Users/patrick/dev/familydiagram/vendor/sysroot-macos-64/lib/python3.7/site-packages)</span></div><div class=""><span style="color: rgb(162, 86, 55);" class="">    so pyqtdeploy-build will automatically find it there.</span></div><div class=""><span style="color: rgb(162, 86, 55);" class="">    """</span></div><div class="">    target_modules_dir = os.path.join(os.path.dirname(os.path.abspath(<span style="color: rgb(9, 89, 132);" class="">__file__</span>)), <span style="color: rgb(162, 86, 55);" class="">'site-packages'</span>)</div><br class=""><div class="">    <span style="color: rgb(63, 151, 223);" class="">def</span> <span style="color: rgb(99, 99, 36);" class="">install</span>(<span style="color: rgb(9, 89, 132);" class="">self</span>):</div><div class="">        <span style="color: rgb(157, 78, 150);" class="">pass</span></div></div><div class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Sep 30, 2020, at 4:43 PM, Patrick Stinson <<a href="mailto:patrickkidd@gmail.com" class="">patrickkidd@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Here is the component code, which really just provides a module name and minimum version number. I am using python-3.7.8.<div class=""><br class=""></div><div class=""><div style="color: rgb(54, 54, 54); background-color: rgb(255, 255, 255); font-family: Menlo, Monaco, "Courier New", monospace; line-height: 18px; white-space: pre;" class=""><div class=""><span style="color: rgb(157, 78, 150);" class="">from</span> pyqtdeploy <span style="color: rgb(157, 78, 150);" class="">import</span> Component, PythonModule</div><br class=""><div class=""><span style="color: rgb(63, 151, 223);" class="">class</span> <span style="color: rgb(70, 224, 192);" class="">SixComponent</span>(<span style="color: rgb(70, 224, 192);" class="">Component</span>):</div><br class=""><div class="">    preinstalls = [ <span style="color: rgb(162, 86, 55);" class="">'Python'</span> ]</div><div class="">    provides = { <span style="color: rgb(162, 86, 55);" class="">'six'</span>: PythonModule(<span style="color: rgb(9, 89, 132);" class="">min_version</span>=(<span style="color: rgb(73, 104, 57);" class="">3</span>, <span style="color: rgb(73, 104, 57);" class="">7</span>)) }</div><br class=""><div class="">    <span style="color: rgb(63, 151, 223);" class="">def</span> <span style="color: rgb(99, 99, 36);" class="">get_archive_name</span>(<span style="color: rgb(9, 89, 132);" class="">self</span>):</div><div class="">        <span style="color: rgb(157, 78, 150);" class="">return</span> <span style="color: rgb(162, 86, 55);" class="">''</span></div><br class=""><div class="">    <span style="color: rgb(63, 151, 223);" class="">def</span> <span style="color: rgb(99, 99, 36);" class="">install</span>(<span style="color: rgb(9, 89, 132);" class="">self</span>):</div><div class="">        <span style="color: rgb(157, 78, 150);" class="">pass</span></div><br class=""></div><div class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Sep 30, 2020, at 4:42 PM, Patrick Stinson <<a href="mailto:patrickkidd@gmail.com" class="">patrickkidd@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">My pyqtdeploy sysroot is successfully finding the following component plugin for the third-party python module ‘six.py’. The module is checked in the “Other Packages” tab in the pyqtdeploy project. But I get an import error when importing it from my app code saying the module ‘six’ doesn’t exist. How does pyqtdeploy find the .py file for a PythonModule `provides` entry in a sysroot?</div></div></blockquote></div><br class=""></div></div></div></div></blockquote></div><br class=""></div></div></body></html>