[Python-Dev] Python install layout and the PATH on win32
Mark Hammond
skippy.hammond at gmail.com
Tue Mar 20 23:09:38 CET 2012
On 21/03/2012 5:50 AM, Merlijn van Deen wrote:
> On 13 March 2012 20:43, VanL<van.lindberg at gmail.com> wrote:
>> Following up on conversations at PyCon, I want to bring up one of my
>> personal hobby horses for change in 3.3: Fix install layout on Windows, with
>> a side order of making the PATH work better.
>
> As this is being considered an 'incompatible change' on the bug
> tracker item [1] in any case, I'd like to mention that this might also
> be a convenient moment to re-think the default install location. After
> all, software is supposed to be installed in %programfiles% on
> windows, not in c:\<program name>.
>
> I asked a question about this on IRC, to which the response was that
> there were two main reasons to install python in c:\pythonxy:
>
> 1 - issues due to spaces ('Program Files') or non-ascii characters in
> the path ('Fișiere Program' on a Romanian windows). These issues are
> supposed to be fixed by now (?).
> 2 - issues due to permissions - installing python / packages in
> %programfiles% may require administrator rights.
Apart from personal preference (ie, I prefer the status quo here), the
second issue is a bit of a killer. Even an administrator can not write
to Program Files unless they are using an "elevated" process (ie,
explicitly use "Run as Administrator" and confirm the prompt.
This means that any installer wanting to write .py files into the Python
install must be elevated, and any Python process wanting to generate
.pyc files must also be elevated. So even if an installer does arrange
elevation, unless that installer also compiles all .pyc and .pyo files
at install time, Python would fail to generate the .pyc files on first
use. While Python will probably fail silently and still continue to
work, it will have a significant performance impact.
Mark
More information about the Python-Dev
mailing list