certbot/tools
Adrien Ferrand 5073090a20 Update tools/venv3.py to support py launcher on Windows (#6493)
Following some inconsistencies occurred during by developments, and in the light of #6508, it decided to wrote a PR that will take fully advantage of the conversion from bash to python to the development setup tools.

This PR adresses several issues when trying to use the development setup tools (`tools/venv.py` and `tools/venv3.py`:
* on Windows, `python` executable is not always in PATH (default behavior)
* even if the option is checked, the `python` executable is not associated to the usually symlink `python3` on Windows
* on Windows again, really powerful introspection of the available Python environments can be done with `py`, the Windows Python launcher
* in general for all systems, `tools/venv.py` and `tools/venv3.py` ensures that the respective Python major version will be used to setup the virtual environment if available.
* finally, the best and first candidate to test should be the Python executable used to launch the `tools/venv*.py` script. It was not relevant before because it was shell scripts, but do it is.

The logic is shared in `_venv_common.py`, and will be called appropriately for both scripts. In priority decreasing order, python executable will be search and tested:
* from the current Python executable, as exposed by `sys.executable`
* from any python or pythonX (X as a python version like 2, 3 or 2.7 or 3.4) executable available in PATH
* from the Windows Python launched `py` if available

Individual changes were:

* Update tools/venv3.py to support py launcher on Windows

* Fix typo in help message

* More explicit calls with space protection

* Complete refactoring to take advantage of the python runtime, and control of the compatible version to use.
2018-11-15 15:17:36 -08:00
..
_release.sh Add better error handling around release signatures (#6353) 2018-09-11 15:44:26 -07:00
_venv_common.py Update tools/venv3.py to support py launcher on Windows (#6493) 2018-11-15 15:17:36 -08:00
deactivate.py Use josepy instead of acme.jose. (#5203) 2017-12-11 11:25:09 -08:00
deps.sh rename letshelp-letsencrypt 2016-04-13 17:42:19 -07:00
dev_constraints.txt Update Lexicon to correct use of HTTP proxy on OVH provider (#6479) 2018-11-07 07:49:13 -08:00
docker-warning.sh add docker-warning script 2017-03-06 19:31:42 -08:00
eff-pubkey.pem Add pubkey to tree 2016-03-01 11:21:51 -08:00
half-sign.c Use SHA256 openssl signatures 2016-01-11 14:22:51 -08:00
install_and_test.py Fail-fast in test/cover/lint scripts (#6487) 2018-11-14 13:57:40 -08:00
merge_requirements.py [Windows|Unix] Rewrite bash scripts for tests into python (#6435) 2018-11-07 17:16:16 -08:00
offline-sigrequest.sh Don't require festival during signing. (#6079) 2018-06-07 11:43:45 +03:00
oldest_constraints.txt Pin dependencies in oldest tests (#5316) 2017-12-18 12:31:36 -08:00
pip_install.py Update tools/venv3.py to support py launcher on Windows (#6493) 2018-11-15 15:17:36 -08:00
pip_install_editable.py Fail-fast in test/cover/lint scripts (#6487) 2018-11-14 13:57:40 -08:00
readlink.py [Windows|Unix] Rewrite bash scripts for tests into python (#6435) 2018-11-07 17:16:16 -08:00
release.sh Release script improvements (#6337) 2018-09-05 14:10:05 -07:00
simple_http_server.py Fix print() and xrange() for Python 3 (#5590) 2018-03-14 09:37:29 -07:00
sphinx-quickstart.sh Put API link at the bottom of DNS plugin docs (#5699) 2018-03-12 17:10:23 -07:00
venv.py Update tools/venv3.py to support py launcher on Windows (#6493) 2018-11-15 15:17:36 -08:00
venv3.py Update tools/venv3.py to support py launcher on Windows (#6493) 2018-11-15 15:17:36 -08:00