paylogic/py2deb

RequirementParseError seen running CLI

greggmi opened this issue · 1 comments

Trying to convert newer pip package into debian for older Ubuntu. Seeing this error:

2020-09-10 17:21:22 laas-greggmi pip_accel[2201] INFO Unpacking distribution(s) ..
2020-09-10 17:21:22 laas-greggmi pip_accel[2201] INFO Executing command: pip install --download=/users/greggmi/.pip-accel/sources --find-links=file:///users/greggmi/.pip-accel/sources --no-binary=:all: --no-index --no-clean --build-directory=/tmp/pip-accel-build-dir-m1T4oR --ignore-installed pyvmomi==6.0.0.2016.6
2020-09-10 17:21:22 laas-greggmi pip.commands.install[2201] INFO Ignoring indexes: https://pypi.python.org/simple
2020-09-10 17:21:22 laas-greggmi pip.req.req_set[2201] INFO Collecting pyvmomi==6.0.0.2016.6
2020-09-10 17:21:22 laas-greggmi pip.download[2201] INFO File was already downloaded /users/greggmi/.pip-accel/sources/pyvmomi-6.0.0.2016.6.tar.gz
2020-09-10 17:21:22 laas-greggmi pip.req.req_set[2201] INFO Collecting requests>=2.3.0 (from pyvmomi==6.0.0.2016.6)
2020-09-10 17:21:22 laas-greggmi pip.download[2201] INFO File was already downloaded /users/greggmi/.pip-accel/sources/requests-2.24.0.tar.gz
2020-09-10 17:21:23 laas-greggmi pip.req.req_set[2201] INFO Collecting six>=1.7.3 (from pyvmomi==6.0.0.2016.6)
2020-09-10 17:21:23 laas-greggmi pip.download[2201] INFO File was already downloaded /users/greggmi/.pip-accel/sources/six-1.15.0.tar.gz
2020-09-10 17:21:23 laas-greggmi pip.req.req_set[2201] INFO Collecting chardet<4,>=3.0.2 (from requests>=2.3.0->pyvmomi==6.0.0.2016.6)
2020-09-10 17:21:23 laas-greggmi pip.download[2201] INFO File was already downloaded /users/greggmi/.pip-accel/sources/chardet-3.0.4.tar.gz
2020-09-10 17:21:24 laas-greggmi pip.req.req_set[2201] INFO Collecting idna<3,>=2.5 (from requests>=2.3.0->pyvmomi==6.0.0.2016.6)
2020-09-10 17:21:24 laas-greggmi pip.download[2201] INFO File was already downloaded /users/greggmi/.pip-accel/sources/idna-2.10.tar.gz
2020-09-10 17:21:24 laas-greggmi pip.req.req_set[2201] INFO Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 (from requests>=2.3.0->pyvmomi==6.0.0.2016.6)
2020-09-10 17:21:24 laas-greggmi pip.download[2201] INFO File was already downloaded /users/greggmi/.pip-accel/sources/urllib3-1.25.10.tar.gz
2020-09-10 17:21:24 laas-greggmi py2deb.cli[2201] ERROR Caught an unhandled exception!
Traceback (most recent call last):
  File "/users/greggmi/.local/lib/python2.7/site-packages/py2deb/cli.py", line 200, in main
    archives, relationships = converter.convert(arguments)
  File "/users/greggmi/.local/lib/python2.7/site-packages/py2deb/converter.py", line 736, in convert
    self.packages_to_convert = list(self.get_source_distributions(pip_install_arguments))
  File "/users/greggmi/.local/lib/python2.7/site-packages/py2deb/converter.py", line 793, in get_source_distributions
    for requirement in self.pip_accel.get_requirements(arguments):
  File "/users/greggmi/.local/lib/python2.7/site-packages/pip_accel/__init__.py", line 297, in get_requirements
    return self.unpack_source_dists(arguments, use_wheels=use_wheels)
  File "/users/greggmi/.local/lib/python2.7/site-packages/pip_accel/__init__.py", line 393, in unpack_source_dists
    requirements = self.get_pip_requirement_set(arguments, use_remote_index=False, use_wheels=use_wheels)
  File "/users/greggmi/.local/lib/python2.7/site-packages/pip_accel/__init__.py", line 497, in get_pip_requirement_set
    requirement_set = command.run(opts, args)
  File "/users/greggmi/.local/lib/python2.7/site-packages/pip/commands/install.py", line 294, in run
    requirement_set.prepare_files(finder)
  File "/users/greggmi/.local/lib/python2.7/site-packages/pip/req/req_set.py", line 334, in prepare_files
    functools.partial(self._prepare_file, finder))
  File "/users/greggmi/.local/lib/python2.7/site-packages/pip/req/req_set.py", line 321, in _walk_req_to_install
    more_reqs = handler(req_to_install)
  File "/users/greggmi/.local/lib/python2.7/site-packages/pip/req/req_set.py", line 561, in _prepare_file
    set(req_to_install.extras) - set(dist.extras)
  File "/users/greggmi/.local/lib/python2.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2774, in extras
    return [dep for dep in self._dep_map if dep]
  File "/users/greggmi/.local/lib/python2.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2591, in _dep_map
    dm.setdefault(extra,[]).extend(parse_requirements(reqs))
  File "/users/greggmi/.local/lib/python2.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2924, in parse_requirements
    "version spec")
  File "/users/greggmi/.local/lib/python2.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2889, in scan_list
    raise RequirementParseError(msg, line, "at", line[p:])
RequirementParseError: Expected version spec in ipaddress; python_version=='2.7' at ; python_version=='2.7'

I couldn't find any much googling this, but I think this is the culprit: https://github.com/urllib3/urllib3/blob/3c3fb0299f5e56613003bc293a9a9082e264c982/dev-requirements.txt

I was able to work around this by creating my own requirements file based on the pyvmomi requirements, avoiding the problematic requirements file:

pyvmomi==6.0.0.2016.6
urllib3<1.25
requests>=2.3.0
six>=1.7.3