Using the most recent version of python3 (3.9.10), I was unable to set up a virtual environment with "python -m venv venv". This was due to the ensurepip stage failing. As such, I tried running ensurepip directly. Output when running "python -m ensurepip": Traceback (most recent call last): File "/usr/lib/python3.9/runpy.py", line 188, in _run_module_as_main mod_name, mod_spec, code = _get_module_details(mod_name, _Error) File "/usr/lib/python3.9/runpy.py", line 147, in _get_module_details return _get_module_details(pkg_main_name, error) File "/usr/lib/python3.9/runpy.py", line 111, in _get_module_details __import__(pkg_name) File "/usr/lib/python3.9/ensurepip/__init__.py", line 30, in _SETUPTOOLS_VERSION = _get_most_recent_wheel_version("setuptools") File "/usr/lib/python3.9/ensurepip/__init__.py", line 27, in _get_most_recent_wheel_version return str(max(_wheels[pkg], key=distutils.version.LooseVersion)) ValueError: max() arg is an empty sequence Looking at the actual code in __init__.py, the function that is failing seems to be constructing a list of .whl files in "_WHEEL_DIR", "/usr/share/python-wheels/", and then returning the latest version of the desired one (setuptools and pip are requested). However, it can't find any .whl files, and so the max() function fails. My cygwin installation doesn't even seem to have a python-wheels folder in /usr/share, let alone any .whl files in it. I'm not sure if cygwin downloads and stores .whl files elsewhere, or if they even get downloaded at all. The same error occurs for other versions of python3 I have installed, including python3.8 and python3.6. I have attached my cygcheck.out file as cygcheck.out.txt. My python 3.9 install is all OK, though some of the older ones are incomplete for pip.