Skip to content

Commit

Permalink
Auto merge of rust-lang#80625 - jyn514:python-what-python, r=Mark-Sim…
Browse files Browse the repository at this point in the history
…ulacrum

Choose the version of python at runtime (portable version)

r? `@Mark-Simulacrum`

Fixed version of rust-lang#80585. The goal is to avoid giving 'error: python3 required' when downloading LLVM from CI and instead default to python3 where possible.

This has some minor overhead when you have `python` as python2, but almost nothing compared to actually running the build.
  • Loading branch information
bors committed Jan 15, 2021
2 parents 4e208f6 + c8cac2a commit 18ec4a9
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions x.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,22 @@

import os
import sys

# If this is python2, check if python3 is available and re-execute with that
# interpreter.
if sys.version_info.major < 3:
try:
# On Windows, `py -3` sometimes works.
# Try this first, because 'python3' sometimes tries to launch the app
# store on Windows
os.execvp("py", ["py", "-3"] + sys.argv)
except OSError:
try:
os.execvp("python3", ["python3"] + sys.argv)
except OSError:
# Python 3 isn't available, fall back to python 2
pass

rust_dir = os.path.dirname(os.path.abspath(__file__))
sys.path.append(os.path.join(rust_dir, "src", "bootstrap"))

Expand Down

0 comments on commit 18ec4a9

Please sign in to comment.