Which version of MSVC?90.DLL's to distribute with Python 2.6 based Py2exe executables?

Jonathan Hartley tartley at tartley.com
Tue Dec 29 06:47:48 EST 2009


On 27/12/2009 05:18, Stephen Hansen wrote:
> Jonathan Hartley <tartley at tartley.com <mailto:tartley at tartley.com>> 
> writes:
>
>      These
>
>     are non-technical users, so I'd rather send them a single executable
>     that 'just works', 
>
> [break]
>
>     rather than asking them to install Python and then
>     coach them through running a script - they would HATE that as a
>     solution.
>
>
> Whoa... How can you go from "single executable that 'just works'" to 
> "asking them to install Python and then coach them" -- there's /miles/ 
> of difference between the two of those options and countless places 
> for you to sit between them.
>
> This isn't an issue which is unique to Python, or which has anything 
> to do with Python at all-- or that Python has any power to do anything 
> about. This is the platform and ecosystem that Microsoft has made for 
> you, and they alone have any power to change anything in this arena. 
> This is their code, not Python's, and they define the rules by which 
> you can use it.
>
> One way to get those files is to just install python, yes. As Python 
> was compiled with a legally licensed version of Visual C++ (though 
> gratis from Microsoft, I believe), they have the rights to 
> redistribute those files. Here though, /you/ are creating a new work-- 
> and even though it includes Python its not a derivative of Python-- 
> and distributing it. The question is, do /you/ have the right to 
> distribute those files? That Python did originally, and you're using 
> Python, does not automatically mean that yes you do-- lawyer-logic 
> does not necessarily equate to layman-logic.
>
> I have no idea what the answer to that question is, actually; IANAL 
> and I have never needed to make a stand-alone windows exe out of 
> python where it wasn't a simple matter to include a link to 
> Microsoft's website where anyone is free to download and install those 
> redistributable components.
>
> This came up a few years ago if memory serves, and I don't remember 
> anyone having a conclusive answer to it, and people argued a bit over 
> Microsoft's EULA granting redistribution rights. I don't remember any 
> actual lawyers chiming in, so I think the question was never solved: 
> and that means in the end you should assume you do not have the right, 
> as the assumption in the other direction is sorta bad.
>
> Yes, in an ideal world people wouldn't need to run anything but your 
> .exe. But the reality is, they probably will need to install the 
> redistributable -- but come on.. The VC2008 (which is VC++ 9.0, which 
> is what Python was compiled with) package is only 1.7 megs. Its not 
> *that* big of a deal to say hey, if it doesn't work install this.
>
> There's nothing else you (or anyone else) can do about it. Until 
> Microsoft open-sources Visual Studio :)
>
> --S

Thanks Steve, there's clearly much sense is what you say.

I recognise that this isn't unique to Python, nor the result of anything 
Python has any control over. However, I keep imagining slash hoping that 
we might have *engineered* our way around the situation. :-)

For example, I clearly don't know what I'm talking about, but might it 
be possible to bundle the VC redistributable installer with your 
exectutable, such that if the required DLL's are not already on the 
user's system, then we run the installer to create them. The logic to do 
this could be in a PyPI package, or else built into py2exe and similar. 
Then the application developer would only need to add a single option to 
py2exe in order for this whole issue to pretty much go away? Or am I 
misunderstanding?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20091229/b45f7f4a/attachment-0001.html>


More information about the Python-list mailing list