PTH files: Abs paths not working as expected. Symlinks needed?

Terry Reedy tjreedy at udel.edu
Thu Feb 16 16:53:55 EST 2017


On 2/15/2017 7:42 AM, poseidon wrote:

> what are pth files for?

They are for extending (mainly) lib/site-packages.  To repeat what I 
have posted before: every time I install a new version of Python, I add 
(copy) python.pth containing 'F:/python' (without the quotes).  This 
makes my  directory of modules and packages, F:/python, an extension of 
the new site-packages.  In effect, the .pth file 'installs', all at 
once, all my personal projects in the new version site-packages. This is 
done without symlinking each individual project directory.  It is also 
done *without* uninstalling projects from previous versions.

As a result, files can be run with -m from a command line just as they 
could be when in site-packages.  For instance, 'py -3.6 -m xploro' runs 
F:/python/xploro/__main__ with python 3.6.  And I can replace '3.6' with 
3.5 or 2.7'

I can also use absolute imports within a project/package the same as if 
the xploro directory were in each versions site-packages.  For instance, 
'from xplore import test' imports F:/python/xplore/test.  There is no 
hassle with relative imports, and if I ever put the package on PyPI, no 
change to imports will be needed.

I just verified that dropping python.pth into the site-packages 
directory of my locally built python 3.7.0a0 lets me easily test that 
xploro tests run on the next version of python.

-- 
Terry Jan Reedy





More information about the Python-list mailing list