<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">Or alternatively, has anyone monkeyed around with just including pip in the exe and then adding code to the app to install a predefined set of wheels? I could have the app do this before running the BIST.<br id="lineBreakAtBeginningOfMessage"><div><br><blockquote type="cite"><div>On Oct 11, 2024, at 4:57 PM, Patrick Stinson <patrickkidd@gmail.com> wrote:</div><br class="Apple-interchange-newline"><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">Has anyone played with automatically generating sysroot plugins for pure-python extensions? I had the idea of adding pytest, flask and all their dependencies so that I could move my pytest suite into my app exe built by pyqtdeploy. It would allow a Built-In Self Test (BIST) that would more thoroughly validate that the exe has everything it needs, e.g. no forgotten modules, C sources compiled correctly, also testing things out in strange deployment contexts.<div><br></div><div>Theoretically I think I have what I need to do this myself since it seems like all you need is a plugin file with the extension name, and a pyqtdeply.Component subclass with MyComponent.target_modules_dir that returns <span style="font-family: Menlo, Monaco, "Courier New", monospace; white-space: pre; background-color: rgb(255, 255, 255); color: rgb(70, 224, 192);">sysconfig</span><span style="color: rgb(54, 54, 54); font-family: Menlo, Monaco, "Courier New", monospace; white-space: pre; background-color: rgb(255, 255, 255);">.</span><span style="font-family: Menlo, Monaco, "Courier New", monospace; white-space: pre; background-color: rgb(255, 255, 255); color: rgb(99, 99, 36);">get_paths</span><span style="color: rgb(54, 54, 54); font-family: Menlo, Monaco, "Courier New", monospace; white-space: pre; background-color: rgb(255, 255, 255);">()[</span><span style="font-family: Menlo, Monaco, "Courier New", monospace; white-space: pre; background-color: rgb(255, 255, 255); color: rgb(162, 86, 55);">"purelib</span><font color="#a25637" face="Menlo, Monaco, Courier New, monospace"><span style="caret-color: rgb(162, 86, 55); white-space: pre;">”</span></font><span style="color: rgb(54, 54, 54); font-family: Menlo, Monaco, "Courier New", monospace; white-space: pre; background-color: rgb(255, 255, 255);">]. </span></div><div><font color="#363636" face="Menlo, Monaco, Courier New, monospace"><span style="caret-color: rgb(54, 54, 54); white-space: pre; background-color: rgb(255, 255, 255);"><br></span></font></div><div><font><span style="caret-color: rgb(0, 0, 0);">But just checking…</span></font></div><div><font><span style="caret-color: rgb(0, 0, 0);"><br></span></font><div>Thanks!</div><div><br></div></div></div></div></blockquote></div><br></body></html>