This is a meta-bug to track the progress and issues encountered with enabling "vpython" as the primary Python entry point for bots and bot code.
General idea is:
1) Enhance "vpython" to include a set of system wheels in all VirtualEnv installations.
1a) Collect the set of standard system packages from "ccompute", "Puppet", and system configurations.
2) Enable generation of "vpython" wrapper as "python", "python2.7", "python2" (.exe), and canarying of this feature.
3) Enable on canary waterfalls and, ultimately, on all waterfalls.
4) Replace system Python with bundled Python on all platforms.
(4) requires the remainder of the tasks to execute, since bundled Python will not include many system packages that software expects to exist. For example, code might say "if I'm on a Mac, import Framework". This is reasonable, since all Mac Python installations include Framework; however, a VirtualEnv Python on Mac will not include Framework by default.
In this case, "vpython" would include the "pyobjc" wheel (https://chrome-infra-packages.appspot.com/#/?path=infra/python/wheels/pyobjc) in all Mac bundles to meet this expectation.
Once a base system Python package set is established, any bundled Python can be used in conjunction with "vpython" to create isolated environments that meet reasonable software expectations.
Comment 1 by bugdroid1@chromium.org
, Jul 11 2017