[Python-ideas] Using Python for end user applications

Steve Dower steve.dower at python.org
Tue Feb 7 09:29:05 EST 2017


You can leave python.exe out of your distribution to avoid it showing up on PATH, or if your stub explicitly LoadLibrary's vcruntime140.dll and then python36.dll you should be able to put them wherever you like.

I think what we really want is a self-extractor that "installs" into the user's AppData directory without prompting for admin. I'm seeing more apps about like this and I think it's the right model for Python. We probably want to include the Electron shell as well, or make it trivially easy to add (I've been using a built-in Windows tool that is similar, but it's not ideal). There's a real chance we could have very modern, cross-platform Python apps with this approach.

I don't think the tools for my current project will ever see public release (though the project itself should), but the experience has been useful. Thomas's work with pynsist is also informative, at least for the issues on Windows (we're already at the point where things would be easiest if Windows 7 just went away :) ).

Cheers,
Steve

Top-posted from my Windows Phone

-----Original Message-----
From: "Paul Moore" <p.f.moore at gmail.com>
Sent: ‎2/‎7/‎2017 5:03
To: "Thomas Kluyver" <thomas at kluyver.me.uk>
Cc: "Python-Ideas" <python-ideas at python.org>
Subject: Re: [Python-ideas] Using Python for end user applications

On 7 February 2017 at 12:33, Thomas Kluyver <thomas at kluyver.me.uk> wrote:
> On Sat, Jan 28, 2017, at 11:26 AM, Paul Moore wrote:
>> I'm working on
>> a project to bundle a working zipapp with the embedded distribution to
>> make a standalone exe - would having something like that make any
>> difference in your environment?
>
> I'd be interested in this, and whether there's any potential for code
> sharing with Pynsist - which does something similar, but producing an
> installer rather than a standalone exe.

https://github.com/pfmoore/pylaunch

It's a very simple C stub that can be prepended to a zipapp, which
then runs it with an embedded distribution.

At the moment it's a bit stalled because the manifest hacking needed
for putting the embedded distribution in a subdirectory doesn't work
with Python 3.5, and there's a bug in 3.6 that breaks using Py_Main()
with a zipapp. But it works, all I really need to do is to write some
management code to automate the process of building the exe from a
script. (I don't want to require the Python distribution to be in the
same directory as the application, as then there would be a
"python.exe" in that directory, which messes up my use case of having
the apps on PATH).

The fact that it's likely to end up being 3.6.1+ only means I'm not
feeling in any particular rush to make progress. At the moment I'm
occasionally dabbling with it to see if I can find workarounds for the
issues with 3.6.0 and 3.5, but I'm not *really* interested in
maintaining significantly more complex C code just to deal with
backward compatible bug workarounds :-)

Paul
_______________________________________________
Python-ideas mailing list
Python-ideas at python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20170207/0e88ae4c/attachment-0001.html>


More information about the Python-ideas mailing list