This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author cmeyer
Recipients cmeyer, shihai1991, vstinner
Date 2020-11-11.16:52:25
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1605113545.69.0.554903444981.issue42260@roundup.psfhosted.org>
In-reply-to
Content
Responding to your request for feedback on Python-Dev:

We embed Python dynamically by finding the libPython DLL, loading it, and looking up the required symbols. We make appropriate define's so that the Python headers (and NumPy headers) point to our functions which in turn point to the looked up symbols.

Our launcher works on Linux, macOS, and Windows and works with many environments including standard Python and conda and brew. It also supports virtual environments in most cases. Also, a single executable [per platform] is able to work with Python versions 3.7 - 3.9 (3.6 was recently dropped, but only for external reasons).

So my comment is not directly addressing the usefulness of configuring Python initialization - but I would like to request that this ability to dynamically load Python DLLs remains even with any new initialization mechanism.

As another note, the main issues we run into are configuring the Python path to properly find packages and DLLs. A goal of ours is to be able to provide the base application as a drag-and-drop style installer with its own full embedded Python distribution (but still loaded dynamically) and then be able to supply additional plug-in packages (Python packages) by drag and drop. This is somewhat similar to conda packaging but without support for command line tools.
History
Date User Action Args
2020-11-11 16:52:25cmeyersetrecipients: + cmeyer, vstinner, shihai1991
2020-11-11 16:52:25cmeyersetmessageid: <1605113545.69.0.554903444981.issue42260@roundup.psfhosted.org>
2020-11-11 16:52:25cmeyerlinkissue42260 messages
2020-11-11 16:52:25cmeyercreate