-
Notifications
You must be signed in to change notification settings - Fork 1
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
Update to 24.2, use pip source to install itself #30
Conversation
Linter check found the following problems:ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_adjh1sd0y5/clone` failed. (See above for error) The following problems have been found:===== ERRORS =====
|
Linter check found the following problems:ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_f61sopcfw2/clone` failed. (See above for error) The following problems have been found:===== ERRORS =====
|
Linter check found the following problems:ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_cdxo1u_7uf/clone` failed. (See above for error) The following problems have been found:===== ERRORS =====
|
@@ -1,9 +1,10 @@ | |||
#!/bin/bash | |||
|
|||
$PYTHON setup.py install --single-version-externally-managed --record record.txt | |||
# use the pip source to install itself | |||
PYTHONPATH="./src" $PYTHON -m pip install --no-deps --no-build-isolation . -vv |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Neat!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how does that work? the pip program is loaded into memory then the version in memory installs the version on disc?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does that remove the need to set CONDA_ADD_PIP_AS_PYTHON_DEPENDENCY=0
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how does that work? the pip program is loaded into memory then the version in memory installs the version on disc?
Well, everything is always loaded in memory... What it does is just rely on the non-installed (so in-tree) pip to install itself. -m pip
will call src/pip/__main__.py
which is the CLI entrypoint.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When importing packages, Python will search and load modules from various location on disk, such as from the site-packages
directory. The PYTHONPATH
variable can be use to add locations to the search path.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does that remove the need to set
CONDA_ADD_PIP_AS_PYTHON_DEPENDENCY=0
?
No, CONDA_ADD_PIP_AS_PYTHON_DEPENDENCY
prevents conda from installing the pip
conda package when python is listed as a requirement in the recipe. The environment variable is the same as setting add_pip_as_python_dependency: false
in .condarc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Latest versions of pip requires python python>=3.8 AFAIK, see https://inspector.pypi.io/project/pip/24.2/packages/d4/55/90db48d85f7689ec6f81c0db0622d704306c5284850383c090e6c7195a5c/pip-24.2-py3-none-any.whl/pip-24.2.dist-info/METADATA#line.25. Should we also follow that?
Yes. I bumped the minimum version for the build to 3.8. |
Linter check found the following problems:ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_94xk0pz503/clone` failed. (See above for error) The following problems have been found:===== ERRORS =====
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM AFAICS. Do you need to build a couple of packages with it to make sure nothing untoward is happening? ("shouldn't" be, but in my experience bodies are buried in the distro and weird stuff can happen with build tools, we had an issue with this recently)
Linter check found the following problems:ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_53xo6c8hgk/clone` failed. (See above for error) The following problems have been found:===== ERRORS =====
|
|
@danpetry I don't think it has to do with pip. Pip became more strict, but it's not a bug, it's a feature. |
looking more at the comment you made on xgboost, it's about a specific hatch hook which may not be used in all feedstocks, is that right? or even an implementation in the xgboost code which is very unlikely to appear in other feedstocks..? |
Yes. It's going to be a problem for projects that set their own tags, which should be a low number of projects. |
pip 24.2
Destination channel: defaults
Links
Explanation of changes: