Re: [Python-Dev] New Windows installer for Python 3.5

2015-01-09 Thread David Anthoff
> Nothing is merged in yet and everything can still change, so I'm keen to
hear whatever
> feedback people have. I've tried to make improvements fairly for
first-time users
> through to sysadmins, but if I've missed something big I'd like to hear
about it before
> we get too close to alpha 1.

It would be great if the new installer supported silent, portable installs.
What I have in mind is a silent installation that drops all the necessary
files for a working python into a folder, but does not put ANY file anywhere
else and does not register anything anywhere on the system. So no PATH
modification, no registering of this install as one of the available python
interpreters, no uninstall entry or anything like that. By "all the
necessary files" I mean that it drops things like the MSVC runtime dlls etc
into that folder into which I'm installing python, but again doesn't try to
install things like that system or even user wide.

I'll give you my very specific use-case, but I think this might be useful
for others as well: we are trying to build an installer for some other
product X that internally requires a python instance to work. This python
instance should NOT be visible to anything other than product X, i.e. no
user should ever start it directly or anything like that, it really is an
implementation detail of product X. If we had an official python installer
that supported silent, portable installs, I could just call that python
installer inside the setup program for X, and it would drop a fully working
python installation into a sub-directory of the install directory of product
X. And we would be happy :)

The old MSI installer sort of had something like that with the MSI
administrative install option. But it never really worked because the
administrative install didn't drop the MSVC runtime dlls anywhere, as far as
I could tell. At some point I hacked around that by modifying the MSI file
in my setup program to also drop the MSVC runtime dlls, but that was VERY
hacky... 

Thanks,
David
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


Re: [Python-Dev] New Windows installer for Python 3.5

2015-01-09 Thread David Anthoff
> I'll look into this, but it probably isn't going to work as part of the
installer. I
> have previously looked into being able to install arbitrary side-by-side
copies
> of Python, but that's near impossible as well. Windows Installer doesn't
really
> let you just copy files - it isn't part of its intended functionality. It
isn't too
> difficult to build custom MSIs with certain parts of Python (such as the
DLLs
> and the standard library, but no docs, headers or EXEs) in a way that
won't
> conflict with other installs, but you're still using an MSI here which is
not
> necessarily ideal.

Are administrative MSI installs an option, though? They don't register
anything but just drop files, right? But see my comments below about a zip
drop, which would be a much, much nicer option in my opinion. 

> We could release a ZIP file containing all the Python files.

That would be absolutely FANTASTIC and would solve all problems around this
topic. In theory we could handle this ourselves on our end, but this is for
a small open source project and we are really hesitant to take on another
software packaging job. Doing this right just for our product would be a
fair amount of work, we would have to do this with every new Python release,
we might mix things up etc., and really we are more interested in our piece
of software than packaging Python ;) I think it would be a much nicer model
if there was a zip to download from python.org. There is another issue that
keeps us from hosting our own files: we would have to figure out licensing
issues, both related to python and to the msvcr*.dll and msvcp*.dll. I would
feel much more comfortable if we didn't distribute python or other binaries,
but just downloaded stuff from python.org as part of the setup process.

> The only reason I
> hesitate on this is that it could cause significant confusion for someone
who
> doesn't really understand the implications, while people like yourself who
> have thought about this are also capable of finding workarounds and don't
> really need the ZIP file apart from convenience. 

I was not clear in my previous email. I have NOT found a way to work around
this. I have tried various hacks, but none really works. I got pretty far,
but none really worked in all cases in a robust way. So I would certainly
welcome a downloadable zip file a great deal. Is there maybe a compromise
for now to have such a zip on the server, but not advertise it widely, and
maybe put an "experimental"/"beta" moniker into the filename?

I assume you would include the MS VC runtime files msvcr100.dll and
msvcp100.dll in such a zip file?

Is there any chance this might even be done (as an experimental version) for
Python 3.4?

> Making some of the fixes to
> make python.exe more portable would relieve my concerns here.

I see that. For our cases things seem to work, but I agree, it would be good
if python.exe would try hard to work in a xcopy mode.

> > The old MSI installer sort of had something like that with the MSI
> > administrative install option. But it never really worked because the
> > administrative install didn't drop the MSVC runtime dlls anywhere, as
> > far as I could tell. At some point I hacked around that by modifying
> > the MSI file in my setup program to also drop the MSVC runtime dlls, but
> that was VERY hacky...
> 
> I'm a little surprised that worked at all for what you were trying to do.
You'd
> be better off installing it once and then copying the files yourself.

I got it to drop the msvcr100.dll, but haven't managed to get the
msvcp100.dll out via an administrative install. The whole approach is a
mess, I would MUCH prefer a zip file.
 
> But overall, this is the sort of thing I do want to enable. I firmly
believe that
> Python from python.org is for *developers*, and those who just want to run
> a Python application should be able to get a complete package. This is
very
> different from the *nix approach, but it makes far more sense to Windows
> users. A good example is TortoiseHg, which bundles everything so that
users
> never even know they have Python 2.7 or Mercurial installed on their
> machine. Making it easier for people to bundle Python into their own
> applications is a good thing, as far as I'm concerned.

Yes, those are good examples. Right now doing this in the way these guys do
is too much work for our small project... Anything that makes this easier
would be appreciated.

Thanks! And the new installer looks great in general.

Best,
David
___
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com