* Migrate the bm_diff benchmarks to python3
Includes a requirements.txt pinned at ~2017 versions, when this script
was first written.
* Replace p2 with p3 scipy/numpy dependencies.
* py2->3 for benchmark setup scripts
* upgrade pip to resolve python3 cryptography/setuptools-rust problem
* re-add jobset import (accidentally removed)
* re-add six's urllib import. This file is still used in py2 tests
* force py3 in run_if_c_cpp_modified.sh
* Fix another instance of subprocess.check_output binary mode
* Use the requirements.txt for CI perf environment setup
* Try to upgrade PyJWT. (v2.0.0 was problematic, #25053)
v2.x makes encode return strs from jwt.encode in both py2 and py3.
Previously, py3 would return bytes, and py2 a str.
* upgate cryptography lib version requirements for jwt.
* Wrap pip requirements specifier in quotes '>=x,<y'
* Decode subprocess output once instead of for every line
* Revert "Decode subprocess output once instead of for every line"
This reverts commit 28d14026431622ac7afd3535a8d7118e5be96628.
py2 doesn't support the `text` argument to subprocess.check_output.
* Address reviewer requests
* Pin a valid scipy version
* Remove scipy and tabulate dependencies from macos tests
* Download the working msys64 and use it to compile 27
* Remove the cygwin detection override logic
* Only install Python interpreters in jobs running on winserver2016
* Fix the batch script substring check
* Increase the timeout for related jobs
* TIL that there is an allow list for Kokoro env vars
* Download the working msys64 and use it to compile 27
* Remove the cygwin detection override logic
* Only install Python interpreters in jobs running on winserver2016
* Fix the batch script substring check
* Increase the timeout for related jobs
* TIL that there is an allow list for Kokoro env vars