[Python-Dev] First draft of "sysconfig"

Mark Hammond mhammond at skippinet.com.au
Tue Dec 15 05:05:18 CET 2009

On 15/12/2009 2:42 PM, David Lyon wrote:
> On Tue, 15 Dec 2009 14:40:56 +1100, Mark Hammond<skippy.hammond at gmail.com>
> wrote:
>> I think it is fine.  If you are really looking for properties specific
>> to the operating system (eg, the location of the start menu, desktop,
>> appdata folders etc)
> But under windows, an application developer might (as in probably
> would) like to install an application in \Program Files\someapp
> rather than hidden in the bowels of the python interpretor.

I agree - but in that case you are talking about an application built 
with Python - that is a different set of requirements.  But regardless 
of where Python itself lives the returned values will be correct; they 
will not reflect the operating system preference for various other 
folders, but will correctly return the paths they are documented as 

IOW, this isn't designed for applications which happen to be written in 
Python.  There might be a case for such a module to be created, but this 
PEP doesn't attempt to solve that particular problem.

> They might like their data in "Application Data", which is where
> support people get trained to look for application data. Not down
> in \pythonX.Y\ ...

Nothing is stopping them from doing that - but this PEP isn't intended 
to provide that information.

>> I don't think they belong in this PEP; they are a
>> property of the OS install/version, not of the specific Python
>> install/version.
> Yes - exactly. My point.
> The operating system says that programs should be installed into
> "Program Files" and data into "Application Data". Why can not
> python respect the operating system directions for well behaved
> apps?

It does - many applications written in Python exist which do exactly 
that.  If a user really wants to install Python itself under "\Program 
Files", sysconfig should correctly reflect that.  Python doesn't care 
where it is installed, or even when it is (sensibly) bundled with an app 
which is designed to be "stand-alone".

You are after operating system properties - I understand your need to 
know those paths (and there are already reasonable Windows specific ways 
to get them), but sysconfig isn't trying to solve that for you and I 
agree it should not attempt to.


More information about the Python-Dev mailing list