Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Conversation

@chrislovecnm
Copy link
Contributor

@chrislovecnm chrislovecnm commented Jul 10, 2023

This commit defaults the pip.parse python_version attribute to the default version of
Python, as configured by the python.toolchain extension. This allows a user to use the
Python version set by rules_python or the root module. Also, this makes setting the
attribute optional (as it has a default) and we automatically select the interpreter.

Closes #1267

This commit defaults the python_version attribute to the default
version of Python.  This allows a user to use the version we
define in rules_python MODULE.bazel.  Also, a user can now
not set the python_version attribute on a pip tag_class
and we automatically set the interpreter.
@chrislovecnm chrislovecnm force-pushed the default-interpreter branch from b7c83ed to b66fce0 Compare July 10, 2023 21:56
@chrislovecnm chrislovecnm changed the title Allow bzlmod pip.parse to reference the default python feat(bzlmod): Allow bzlmod pip.parse to reference the default python Jul 10, 2023
@chrislovecnm chrislovecnm added the type: bzlmod bzlmod work label Jul 10, 2023
@chrislovecnm chrislovecnm changed the title feat(bzlmod): Allow bzlmod pip.parse to reference the default python feat(bzlmod): Allow bzlmod pip.parse to reference the default python toolchain and interpreter Jul 10, 2023
@rickeylev rickeylev added this pull request to the merge queue Jul 10, 2023
Merged via the queue into bazel-contrib:main with commit e5d9f10 Jul 10, 2023
@chrislovecnm chrislovecnm deleted the default-interpreter branch July 10, 2023 23:25
chrislovecnm added a commit that referenced this pull request Jul 24, 2023
… python toolchain and interpreter (#1303)"

This reverts commit e5d9f10.
github-merge-queue bot pushed a commit that referenced this pull request Jul 26, 2023
…hon version (#1341)

Reverts #1303

The main issue is that `pip.parse()` accepts a locked requirements file
-- this means
the requirements are specific to a particular Python version[1]. Because
the default Python
version can arbitrarily change, the lock file may not be valid for the
Python version
that is used at runtime. The net result is a module will use
dependencies for e.g. Python
3.8, but will use 3.9 at runtime. Additionally, the dependencies
resolved for 3.8 will
be created under names such as `@foo_39` (because that's the
python_version pip.parse sees),
which is just more confusing.

BREAKING CHANGE:
* pip.parse() must have `python_version` explicitly set. Set it to the
Python version
    used to resolve the requirements file.

[1] Lock files aren't necessarily version specific, but we don't
currently support the
environment markers in lock files to make them cross-python-version
compatible.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: bzlmod bzlmod work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Allow bzlmod pip.parse to reference the default python

2 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.