<div dir="ltr"><div class="gmail_quote">On Thu, Jan 13, 2011 at 11:26 PM, &quot;Martin v. Löwis&quot; <span dir="ltr">&lt;<a href="mailto:martin@v.loewis.de">martin@v.loewis.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">&gt; Who is maintaining bdist_msi?<br>
<br>
</div>I am. Unfortunately, I don&#39;t even understand the problem you are talking<br>
about, let alone being able to do anything about it.<br>
<br>
Regards,<br>
<font color="#888888">Martin<br>
</font></blockquote></div><br>I&#39;ll explain. (Please correct me if I&#39;m making any mistakes here.)<div><br></div><div>When you install a Python package in Windows, an .exe file is generated for every script that your package defines. This .exe file sits alongside the .py scripts in the PythonXX\Scripts folder. The .exe file launches the Python interpreter with the Python script. The .exe file needs to know where your Python interpreter is, and it uses the shebang line on the script file to do it, like this: <span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; ">&quot;#!c:\Python27\pythonw.exe&quot;</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "><br></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; ">Problem is, that instead of specifying the interpreter of the system on which you&#39;re installing, it&#39;s using the interpreter of the system which generated the bdist_msi. So since I generated MSI with Python 2.7, the shebang line showed a path to a Python 2.7 installation. This is a problem since the user might have Python 2.6 installed, or he can have Python installed in a non-default path, etc.</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "><br></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; ">What seems right to me is that the MSI installer will figure out where the Python interpreter is on the end-user&#39;s system and then use that in the shebang line.</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "><br></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; ">What do you think?</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "><br></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "><br>
</span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; ">Ram.</span></div></div>