Problems with python3 pip

Chad Dougherty crd@acm.org
Sun Apr 3 16:57:02 GMT 2022


On 2022-03-28 09:36, Chad Dougherty wrote:
> It seems to me like the ensurepip module has some problems.  Shouldn't 
> the following be working?
> 
> $ cygcheck -c -d|grep python3
> python3                  3.9.10-1
> python3-devel            3.9.10-1
> python39                 3.9.10-1
> python39-devel           3.9.10-1
> python39-pip             21.3.1-3
> python39-setuptools      59.5.0-1
> $ type python3.9
> python3.9 is hashed (/usr/bin/python3.9)
> $ type pip3.9
> pip3.9 is hashed (/usr/bin/pip3.9)
> $ pip3.9 --version
> pip 21.3.1 from /usr/lib/python3.9/site-packages/pip (python 3.9)
> $ pip3.9 list
> Package    Version
> ---------- -------
> pip        21.3.1
> setuptools 59.5.0
> WARNING: You are using pip version 21.3.1; however, version 22.0.4 is 
> available.
> You should consider upgrading via the '/usr/bin/python3.9.exe -m pip 
> install --upgrade pip' command.
> 
> $ python3.9 -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 <module>
>      _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
> $ python3.9 -m ensurepip --user
> 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 <module>
>      _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
> $
> 
> 
> This causes the failure of "-m venv", which is what I ultimately want to 
> do:
> $ python3.9 -m venv /home/crd/testvenv
> Error: Command '['/home/crd/testvenv/bin/python3.9.exe', '-Im', 
> 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit 
> status 1.
> 
> I also tried python38 and had similar problems.
> 
> Thanks...
> 

The problem appears to be that the python-pip-wheel and 
python-setuptools-wheel packages were not installed on my system.

Apparently they were a requirement for the python35 packages but that 
requirement was removed in python36 and later.  At some point in the 
past when I removed python35, I was also able to remove python-pip-wheel 
and python-setuptools-wheel which got me into this problem.

After reinstalling python-pip-wheel and python-setuptools-wheel, 
ensurepip and venv are both working from python39.

It seems to me like python-pip-wheel and python-setuptools-wheel should 
probably be re-added as dependencies for newer python3 packages.

Thanks...

-- 
     -Chad


More information about the Cygwin mailing list