PythonDocs suggest:
/usr/local/lib/pythonX.Y/site-packages
for system-wide installations (Unix) and:
userbase/lib/pythonX.Y/site-packages
for user-based installations, where userbase in my case (Linux) is $HOME/.local
.
Regarding compiled extensions, they normaly end in $PREFIX/lib/python2.7/lib-dynload
and executable scripts under $PREFIX/bin
(Linux).
Normaly this kind of stuff gets handled by your distutil-package. Just write a correct setup.py
file and most of this stuff gets handled automagically.
The only draw-back is, that the future of python-packaging is not really definite atm and documentation is somewhat confussing and not up to date.
A good startin point is probably: Hitchhiker’s Guide to Packaging