-
Notifications
You must be signed in to change notification settings - Fork 3k
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
pip mistakenly reports recursion error even when there is no recursion #13046
Comments
Same here ... breaks all our CI runs - as we do update pip, but don't pin pip in ci so far ... |
Likely due to #12877 |
Hi all, if you are getting this error right now then I reccomend pinning your pip to Trying to create an MRE I found something interesting: a.txt:
And then b.txt:
And run c.txt:
And run |
I suspect the logic in #12877 is wrong, as I don't think it considers you can receive many requirements files and they can reference each other as a DAG. I think to fix it you need to build a Directed Graph and show there are no cycles, I suspect that's not a minor code change. Perhaps just better to revert? |
@notatallshaw Should be sufficient to remove files from the "parsed" list once they are parsed completely. The current implementation keeps the file in the list even once it's not being parsed any more. |
Tentative fix in #13047. @d3dave @xmatthias it would be great if you could test it. |
@notatallshaw thanks for the MRE ! |
@sbidoul seems to work in my test (installed via |
Ok, thanks! I'll cut a 24.3.1 tonight. |
Reste à 24.2 tant que pypa/pip#13046 n'est pas corrigé.
Reste à 24.2 tant que pypa/pip#13046 n'est pas corrigé.
Description
I have three requirements files, as follows:
When attempting to
pip install -r lint-requirements.txt
, pip complains:ERROR: .../requirements.txt recursively references itself in .../test-requirements.txt and again in .../lint-requirements.txt
even though there is no recursive reference here. This used to work fine prior to pip 24.3.
Expected behavior
pip should not report an error and instead should proceed with installation as usual.
pip version
24.3
Python version
3.9
OS
Linux
How to Reproduce
pip install -r lint-requirements.txt
Output
Code of Conduct
The text was updated successfully, but these errors were encountered: