This PR is in reference to #7630
I've added a simple try catch around our use of subprocess.check_all when trying to invoke and use python's
- virtualenv
- pip
Upon failure, I use sys.exit with an error message for the user. Exit seemed appropriate as anything beneath those dependencies will fail to execute and result in a non friendly error message
Source-Repo: https://github.com/servo/servo
Source-Revision: 44de9173cc968957e4441c14f57014111a2b847e
...by using a 'marker file' to indicate whether we actually need to run pip.
Also a minor tweak for clarity.
Before (consistently):
```
$ time ./mach >/dev/null
real 0m0.666s
user 0m0.477s
sys 0m0.190s
```
After:
```
$ time ./mach >/dev/null # first run
real 0m0.665s
user 0m0.501s
sys 0m0.166s
$ time ./mach >/dev/null
real 0m0.121s
user 0m0.083s
sys 0m0.039s
```
Source-Repo: https://github.com/servo/servo
Source-Revision: b511004a616862394318381d7ef5ac3c59c7babe
This reverts commit c315404db80c92a695531b0aa4bcf61c125a3bff, reversing
changes made to b00583bd4e7169a6b952633df718268904f2bd0c.
Source-Repo: https://github.com/servo/servo
Source-Revision: 47d6d958f58f5011742a18abcdd5a76bf4390966
Fixes#6236
Also included in this commit are the changes need to make flake8 pass
for the existing python file
Source-Repo: https://github.com/servo/servo
Source-Revision: ccfe29d8f284dedc0101045d574a98fb1f69aa62
Also remove the shell script and ensure that default options are set in a single location
Source-Repo: https://github.com/servo/servo
Source-Revision: 2bde318d24a2ecd2698edd108013c138630bec9d