Actions
Issue #6864
closedpre-flight check often errors when pip-tools is too old
Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Category:
Installer - Moved to GitHub issues
Sprint/Milestone:
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version:
Platform Release:
OS:
Triaged:
No
Groomed:
No
Sprint Candidate:
No
Tags:
Sprint:
Quarter:
Description
pip-tools 5.0 added support for pip 20.0, and has been improving support since.
A user reported that pip-tools 4.5.1 with pip 20.1.1 yielded this error:
"AttributeError: 'ParsedRequirement' object has no attribute 'editable'"
On the task: pulp : Run pip-compile to check pulpcore/plugin compatibility
We should specify the current version of pip-tools 5.2.0 as the minimum that pulp_installer installs (for the pre-flight check). Especially since 5.1.2 dealt with editable requirements.
The full error was:
"fatal":[
"myhost"
]:"FAILED! =>"{
"changed":false,
"cmd":[
"/opt/utils/venv/pulp/3.7.3/bin/pip-compile"
],
"delta":"0:00:00.393598",
"end":"2020-05-29 11:46:09.917436",
"failed_when_result":true,
"msg":"non-zero return code",
"rc":1,
"start":"2020-05-29 11:46:09.523838",
"stderr":"Traceback (most recent call last):\n File \"/opt/utils/venv/pulp/3.7.3/bin/pip-compile\", line 8, in <module>\n sys.exit(cli())\n File \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/click/core.py\", line 764, in __call__\n return self.main(*args, **kwargs)\n File \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/click/core.py\", line 717, in main\n rv = self.invoke(ctx)\n File \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/click/core.py\", line 956, in invoke\n return ctx.invoke(self.callback, **ctx.params)\n File \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/click/core.py\", line 555, in invoke\n return callback(*args, **kwargs)\n File \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/click/decorators.py\", line 17, in new_func\n return f(get_current_context(), *args, **kwargs)\n File \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/piptools/scripts/compile.py\", line 304, in cli\n for ireq in filter(is_pinned_requirement, ireqs):\n File \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/piptools/utils.py\", line 122, in is_pinned_requirement\n if ireq.editable:\nAttributeError: 'ParsedRequirement' object has no attribute 'editable'",
"stderr_lines":[
"Traceback (most recent call last):",
" File \"/opt/utils/venv/pulp/3.7.3/bin/pip-compile\", line 8, in <module>",
" sys.exit(cli())",
" File \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/click/core.py\", line 764, in __call__",
" return self.main(*args, **kwargs)",
" File \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/click/core.py\", line 717, in main",
" rv = self.invoke(ctx)",
" File \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/click/core.py\", line 956, in invoke",
" return ctx.invoke(self.callback, **ctx.params)",
" File \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/click/core.py\", line 555, in invoke",
" return callback(*args, **kwargs)",
" File \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/click/decorators.py\", line 17, in new_func",
" return f(get_current_context(), *args, **kwargs)",
" File \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/piptools/scripts/compile.py\", line 304, in cli",
" for ireq in filter(is_pinned_requirement, ireqs):",
" File \"/opt/utils/venv/pulp/3.7.3/lib64/python3.7/site-packages/piptools/utils.py\", line 122, in is_pinned_requirement",
" if ireq.editable:",
"AttributeError: 'ParsedRequirement' object has no attribute 'editable'"
],
"stdout":"",
"stdout_lines":[
]
}
Actions
Problem: pre-flight check often errors when pip-tools is too old
Solution: Make sure it is at least 5.2.0.
Fixes the error: "AttributeError: 'ParsedRequirement' object has no attribute 'editable'"
fixes: #6864