Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fails to run on pip==20.2b1 #1189

Closed
fatalcoder opened this issue Jul 27, 2020 · 2 comments
Closed

Fails to run on pip==20.2b1 #1189

fatalcoder opened this issue Jul 27, 2020 · 2 comments

Comments

@fatalcoder
Copy link

Environment Versions

  1. OS Type
    Docker with python:3.8.5-slim-buster (debian)
  2. Python version: $ python -V
    3.8.5
  3. pip version: $ pip --version
    20.2b1
  4. pip-tools version: $ pip-compile --version
    5.3.0

Steps to replicate

  1. Install pip and pip-tools
  2. run pip-compile (even with nothing)

Expected result

requirements.txt file is generated

Actual result

Traceback (most recent call last):
  File "/pyroot/bin/pip-compile", line 8, in <module>
    sys.exit(cli())
  File "/pyroot/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/pyroot/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/pyroot/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/pyroot/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/pyroot/lib/python3.8/site-packages/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/pyroot/lib/python3.8/site-packages/piptools/scripts/compile.py", line 458, in cli
    results = resolver.resolve(max_rounds=max_rounds)
  File "/pyroot/lib/python3.8/site-packages/piptools/resolver.py", line 169, in resolve
    has_changed, best_matches = self._resolve_one_round()
  File "/pyroot/lib/python3.8/site-packages/piptools/resolver.py", line 274, in _resolve_one_round
    their_constraints.extend(self._iter_dependencies(best_match))
  File "/pyroot/lib/python3.8/site-packages/piptools/resolver.py", line 384, in _iter_dependencies
    dependencies = self.repository.get_dependencies(ireq)
  File "/pyroot/lib/python3.8/site-packages/piptools/repositories/local.py", line 75, in get_dependencies
    return self.repository.get_dependencies(ireq)
  File "/pyroot/lib/python3.8/site-packages/piptools/repositories/pypi.py", line 231, in get_dependencies
    self._dependencies_cache[ireq] = self.resolve_reqs(
  File "/pyroot/lib/python3.8/site-packages/piptools/repositories/pypi.py", line 171, in resolve_reqs
    reqset.add_requirement(ireq)
  File "/pyroot/lib/python3.8/site-packages/pip/_internal/req/req_set.py", line 113, in add_requirement
    assert install_req.is_direct == (parent_req_name is None), (
AssertionError: a direct req shouldn't have a parent and also, a non direct req should have a parent

Relates to:
pypa/pip#8637

Possible cause:
#1168

Works fine with 20.1.1

root@bba485fc0a15:/project/app# pip-compile requirements.in > requirements.txt
Traceback (most recent call last):
  File "/pyroot/bin/pip-compile", line 8, in <module>
    sys.exit(cli())
  File "/pyroot/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/pyroot/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/pyroot/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/pyroot/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/pyroot/lib/python3.8/site-packages/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/pyroot/lib/python3.8/site-packages/piptools/scripts/compile.py", line 458, in cli
    results = resolver.resolve(max_rounds=max_rounds)
  File "/pyroot/lib/python3.8/site-packages/piptools/resolver.py", line 169, in resolve
    has_changed, best_matches = self._resolve_one_round()
  File "/pyroot/lib/python3.8/site-packages/piptools/resolver.py", line 274, in _resolve_one_round
    their_constraints.extend(self._iter_dependencies(best_match))
  File "/pyroot/lib/python3.8/site-packages/piptools/resolver.py", line 384, in _iter_dependencies
    dependencies = self.repository.get_dependencies(ireq)
  File "/pyroot/lib/python3.8/site-packages/piptools/repositories/local.py", line 75, in get_dependencies
    return self.repository.get_dependencies(ireq)
  File "/pyroot/lib/python3.8/site-packages/piptools/repositories/pypi.py", line 231, in get_dependencies
    self._dependencies_cache[ireq] = self.resolve_reqs(
  File "/pyroot/lib/python3.8/site-packages/piptools/repositories/pypi.py", line 171, in resolve_reqs
    reqset.add_requirement(ireq)
  File "/pyroot/lib/python3.8/site-packages/pip/_internal/req/req_set.py", line 113, in add_requirement
    assert install_req.is_direct == (parent_req_name is None), (
AssertionError: a direct req shouldn't have a parent and also, a non direct req should have a parent
root@bba485fc0a15:/project/app# pip --version
pip 20.2b1 from /pyroot/lib/python3.8/site-packages/pip (python 3.8)
root@bba485fc0a15:/project/app# pip install -U pip==20.1
Collecting pip==20.1
  Downloading pip-20.1-py2.py3-none-any.whl (1.5 MB)
     |████████████████████████████████| 1.5 MB 1.7 MB/s
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.2b1
    Uninstalling pip-20.2b1:
      Successfully uninstalled pip-20.2b1
Successfully installed pip-20.1.1
root@bba485fc0a15:/project/app# pip-compile
#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile
#
pytz==2020.1              # via -r requirements.in
@atugushev
Copy link
Member

atugushev commented Jul 28, 2020

Hello @fatalcoder,

Thanks for the issue! It's fixed in pypa/pip#8026 and it's not reproducible with pip install -e git+git@github.com:pypa/pip.git#egg=pip anymore.

@atugushev
Copy link
Member

Close this due to the bug doesn't reproduce on the released pip-20.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants