Preparing for a point release

Richard Laager rlaager at wiktel.com
Fri Dec 8 20:42:53 UTC 2017


I agree that your system does not have /usr/local in its sys.path by
default.

I think that's broken.

Here's the relevant RedHat bug:
https://bugzilla.redhat.com/show_bug.cgi?id=662034

It is closed with, "F27 will have this issue resolved.".

For existing systems, there are three solutions:

----

1) Ignore prefix and install to /usr. This is Fred Wright's solution and
is what is seemingly the point of fix_python_config.py. I think this is
wrong; prefix should be respected unless explicitly overridden by
--pythondir.

2) Set PYTHONPATH. Fred Wright said there was a consensus that this is
undesirable.

3) Create a .pth file in the appropriate place, which is somewhere under
/usr. There are probably existing ones:
find /usr/lib*/python2.7 -name "*.pth"

You'd want to do something like (as root):

cat > /usr/lib64/python2.7/site-packages/local.pth << EOF
/usr/local/lib64/python2.7/site-packages
/usr/local/lib/python2.7/site-packages
EOF

mkdir -p /usr/local/lib64/python2.7/site-packages
mkdir -p /usr/local/lib/python2.7/site-packages

----

Given that this is fixed in the distro, I think the right trade-off is
to recommend #3, either in documentation and/or in a warning from waf if
the configured pythondir is not in sys.path. I would like to see the
fix_python_config.py code removed, as it is creating new breakage.

-- 
Richard


More information about the devel mailing list