fix(pip3): prefer python when available #471
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Standards checklist:
CONTRIBUTING.md
cargo build
)cargo fmt
)cargo clippy
)cargo test
)If you developed a feature or a bug fix for someone else and you do not have the
means to test it, please tag this person here.
Closes #470, cc @soredake
Issue
On Windows, when you install
python
throughwinget
, an actualpython
binary will be installed as well as apython3
shim, the shim is executable but will launch the Microsoft App store instead of a Python shell. Before this PR,topgrade
calledpython3
under the hood, which is a shim under this case.Solution
We check both
python
andpython3
through.and_then(check_is_python_2_or_shim)
, ifpython
is available and is a valid Python 3, we prefer to use it. This is fine as on most systems,python
is a link to the defaultpython3
.