fix: make -p flag in an alias for --python#11437
fix: make -p flag in an alias for --python#11437Aditya-PS-05 wants to merge 2 commits intoastral-sh:mainfrom Aditya-PS-05:fix/pip-compile-python-flag
Conversation
| long = "python", | ||
| short = 'p', |
There was a problem hiding this comment.
I don't think we need the verbose long and short options — we don't use that anywhere and coherence with the existing style is important.
This also seems to add support for the UV_PYTHON variable. It's fine to leave here, but please be careful with changes like that / note them in the summary.
|
Unfortunately this is a breaking change and we'll need to do some tricks to make this roughly backwards compatible. I can own that. |
|
The failure mode can be seen in CI We could decide this is okay and just hint to use The alternative is |
|
I tried a different approach in #11486 |
…#11486) Closes #11285 Closes #11437 This changes `-p` from an alias of `--python-version` to `--python` while retaining backwards compatibility for `--python-version`-like fallback behavior when the requested version, e.g., `-p 3.12`, cannot be found. This was initially implemented with a hidden `--python-legacy` flag which allows us to special case the short `-p` flag — unlike the implementation in #11437. However, after further discussion, we decided the behavior difference between `-p` and `--python` would be confusing so now `-p` is an alias for `--python` and `--python` is special-cased when a version is used. Additionally, we now respect the `UV_PYTHON` environment variable, but it is ignored when `--python-version` is set. If you want different `--python-version` and `--python` values, you must do so explicitly. I considered banning this, but it is valid for e.g. `--python pypy --python-version 3.12`
…#11486) Closes #11285 Closes #11437 This changes `-p` from an alias of `--python-version` to `--python` while retaining backwards compatibility for `--python-version`-like fallback behavior when the requested version, e.g., `-p 3.12`, cannot be found. This was initially implemented with a hidden `--python-legacy` flag which allows us to special case the short `-p` flag — unlike the implementation in #11437. However, after further discussion, we decided the behavior difference between `-p` and `--python` would be confusing so now `-p` is an alias for `--python` and `--python` is special-cased when a version is used. Additionally, we now respect the `UV_PYTHON` environment variable, but it is ignored when `--python-version` is set. If you want different `--python-version` and `--python` values, you must do so explicitly. I considered banning this, but it is valid for e.g. `--python pypy --python-version 3.12`
…#11486) Closes #11285 Closes #11437 This changes `-p` from an alias of `--python-version` to `--python` while retaining backwards compatibility for `--python-version`-like fallback behavior when the requested version, e.g., `-p 3.12`, cannot be found. This was initially implemented with a hidden `--python-legacy` flag which allows us to special case the short `-p` flag — unlike the implementation in #11437. However, after further discussion, we decided the behavior difference between `-p` and `--python` would be confusing so now `-p` is an alias for `--python` and `--python` is special-cased when a version is used. Additionally, we now respect the `UV_PYTHON` environment variable, but it is ignored when `--python-version` is set. If you want different `--python-version` and `--python` values, you must do so explicitly. I considered banning this, but it is valid for e.g. `--python pypy --python-version 3.12`
…astral-sh#11486) Closes astral-sh#11285 Closes astral-sh#11437 This changes `-p` from an alias of `--python-version` to `--python` while retaining backwards compatibility for `--python-version`-like fallback behavior when the requested version, e.g., `-p 3.12`, cannot be found. This was initially implemented with a hidden `--python-legacy` flag which allows us to special case the short `-p` flag — unlike the implementation in astral-sh#11437. However, after further discussion, we decided the behavior difference between `-p` and `--python` would be confusing so now `-p` is an alias for `--python` and `--python` is special-cased when a version is used. Additionally, we now respect the `UV_PYTHON` environment variable, but it is ignored when `--python-version` is set. If you want different `--python-version` and `--python` values, you must do so explicitly. I considered banning this, but it is valid for e.g. `--python pypy --python-version 3.12`
closes #11285
Changes
PipCompileArgsto make-palias to--python--python-versionoption