How do packages and .pth files work under Windows (Py 2.0)

Grzegorz Makarewicz mak at
Tue Dec 5 19:32:48 EST 2000

Create somename.pth in python root, eg.:

execute python and you will find c:\blach and d:\blach appended to sys.path

For more information look into lib/
def addsitedir(sitedir):
    for name in names:
        if name[-4:] == ".pth":
            addpackage(sitedir, name)

and code from global scope executed after addpackage:

prefixes = [sys.prefix]
if sys.exec_prefix != sys.prefix:
for prefix in prefixes:
    if prefix:


> -----Original Message-----
> From: python-list-admin at
> [mailto:python-list-admin at]On Behalf Of Jonathan Gilligan
> Sent: Tuesday, December 05, 2000 9:46 PM
> To: python-list at
> Subject: Re: How do packages and .pth files work under Windows (Py 2.0)
> Thanks, but this doesn't tell me about when python reads .pth files,
> which is the crux of my problem. Between this and writing a
> file which properly initializes the variable __all__, I
> managed to work around my immediate problem.
> I have managed to resolve another part of my problem---it seems that
> Python reads the default value of the registry key
> "HKLM\Software\Python\CurrentVersion\2.0\PythonPath" only if it cannot
> resolve PYTHONHOME. If it can resolve PYTHONHOME, then it ignores the
> default value in "HKLM\Software\Python\CurrentVersion\2.0\PythonPath"
> and substitutes some default directories instead for the PYTHONPATH.
> It does add any values in keys below PythonPath, but not the value at
> the top of the tree.
> This is undocumented, but can be found in the C code in getpathp.c.
> I'd still like to know how to use .pth files properly, though, if
> anyone can help.
> Jonathan
> "Stuart" <sgm103 at> wrote in message
> news:z26X5.15943$R77.1248181 at
> > > It would help me enormously if there were a way to get Python to
> print
> > > out a list of where it looks when it tries to resolve an "import".
> Is
> > > this possible?
> >
> > I'm not certain, but i think this does the trick:
> >
> > import sys
> > print sys.path
> -- 

More information about the Python-list mailing list