[Python-Dev] Python merge module

"Martin v. Löwis" martin at v.loewis.de
Thu Feb 3 07:30:40 CET 2011


>> As far as the possibility of distributing Python as a merge
>> module? I'd recommend against it. Shared location merge modules are
>> a maintenance nightmare, and private location merge modules may
>> not offer the benefit you need. Better to just install the main
>> Python msi as part of a suite with your installer, whether you
>> build that installer in WiX and burn, or not.
> 
> I'm not familiar w/ shared location merge modules vs. private
> location merge modules. Are you referring to the possibility of
> having multiple python apps trying to use their own python versions?
> How relocatable is python?

Fairly relocatable. If there is was a merge module, I'd really prefer
it to be shared. The challenge here is site-packages: different users
of the merge module would need different copies of site-packages
(or else installing additional packages might break existing software).

Another challenge with shared location merge modules is upgrades:
the Python installer currently doesn't use stable component IDs;
I think this would cause problems for users of the merge module.
Providing stable component IDs is a challenge since it's difficult
to version the files on disk.

Not sure why Michael thinks that a private location merge module
would provide no benefits to the user of the merge module.

> The maintenance nightmare isn't on your
> end (in my case), it would be on me to provide patches/upgrades. I do
> agree that patches w/ merge modules are a pain/nightmare. But what
> about providing both a merge module and msi so developers have a
> choice?

I certainly wouldn't stop providing an MSI. The next question would
be whether the MSI then also installs into the shared location, or
whether it would have a private copy of Python.

> I work on open source projects myself, and we always provide
> both a merge module and a normal msi installer. It's very little
> extra work (in WiX at least) to create both.

But what's the quality of these? Ideally, I'd like to create a single
merge module which, at the option of the user of the merge module,
produces either a shared or a private installation. Is that still
only little extra work in Wix?

> At any rate, where could I find the script used to generate the msi
> package? Perhaps I can translate it into WiX if I thought it'd be
> used (but why bother if no one's interested?). 

It's in Tools/msi/msi.py.

Regards,
Martin


More information about the Python-Dev mailing list