tree 23eb1a6ee0965ee7d941bb5944a79bff7c170eea
parent e3ba722b6df57b2f81787e0ace8efb7ac639d501
author Andrew Stitcher <astitcher@apache.org> 1705093418 -0500
committer Andrew Stitcher <astitcher@apache.org> 1713564503 -0400

PROTON-2816/PROTON-2817: Support building python extension with unbundled proton

There are 3 cases:
* Bundled proton library - this should be the default and is what you
  should use with pip etc.
* System proton library - this is what you should use in a distro
  package.
* Use the in tree library built earlier in the build process - this is
  what you usually want for developer debugging, and should be the
  version actually tested by the in tree tests.

This change also add control of the ability to package and test in
isolated virtual python environments. Using these is the default, but
under some circumstances you do not want the build process to construct
a virtual environment by pulling packages from the internet. So we now
have an option to turn this behaviour off and rely on the hosts python
environment.
