Fix: try python3 before python in install --system (#5296)
#5300
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.
Fix a regression from commit dbea3f5 where
pip install --systemtriesto install using the
pythonexecutable first which, on some systemsmay point to Python 2. Instead try
python3first.Thank you for contributing to Pipenv!
The issue
As explained in #5296 the is a regression whereby
pipenv install --systemwill try$(which python)if it exists instead of$(which python3)and on some systemspythonpoints to Python 2, which will fail withSyntaxError.The fix
The proposed fix is to try
python3first, thenpythonifpython3fails.The checklist
news/directory to describe this fix with the extension.bugfix.rst,.feature.rst,.behavior.rst,.doc.rst..vendor.rst. or.trivial.rst(this will appear in the release changelog). Use semantic line breaks and name the file after the issue number or the PR #.