@@ -102,9 +102,10 @@ is_arm() {
102102}
103103
104104ensure_cuda_torch () {
105- local py=" $1 "
106-
107- # base base index for torch
105+ local python_exe=$( extract_python_exe)
106+ local pip_install_command=$( extract_pip_command)
107+ local pip_uninstall_command=$( extract_pip_uninstall_command)
108+ # base index for torch
108109 local base_index=" https://download.pytorch.org/whl"
109110
110111 # choose pins per arch
@@ -124,9 +125,15 @@ ensure_cuda_torch() {
124125
125126 # check current torch version (may be empty)
126127 local cur=" "
127- if " $py " -m pip show torch > /dev/null 2>&1 ; then
128- cur=" $( " $py " -m pip show torch 2> /dev/null | awk -F' : ' ' /^Version/{print $2}' ) "
129- fi
128+ cur=" $( ${python_exe} - << 'PY ' 2>/dev/null || true
129+ try:
130+ import torch
131+ except Exception:
132+ pass
133+ else:
134+ print(torch.__version__, end="")
135+ PY
136+ ) "
130137
131138 # skip install if version is already satisfied
132139 if [[ " $cur " == " $want_torch " ]]; then
@@ -135,8 +142,8 @@ ensure_cuda_torch() {
135142
136143 # clean install torch
137144 echo " [INFO] Installing torch==${torch_ver} and torchvision==${tv_ver} (cu${cuda_ver} ) from ${index} ..."
138- " $py " -m pip uninstall -y torch torchvision torchaudio > /dev/null 2>&1 || true
139- " $py " -m pip install -U --index-url " ${index} " " torch==${torch_ver} " " torchvision==${tv_ver} "
145+ ${pip_uninstall_command} torch torchvision torchaudio > /dev/null 2>&1 || true
146+ ${pip_install_command} -U --index-url " ${index} " " torch==${torch_ver} " " torchvision==${tv_ver} "
140147}
141148
142149# extract isaac sim path
@@ -568,7 +575,7 @@ while [[ $# -gt 0 ]]; do
568575 begin_arm_install_sandbox
569576
570577 # install pytorch (version based on arch)
571- ensure_cuda_torch ${python_exe}
578+ ensure_cuda_torch
572579 # recursively look into directories and install them
573580 # this does not check dependencies between extensions
574581 export -f extract_python_exe
@@ -598,7 +605,7 @@ while [[ $# -gt 0 ]]; do
598605
599606 # in some rare cases, torch might not be installed properly by setup.py, add one more check here
600607 # can prevent that from happening
601- ensure_cuda_torch ${python_exe}
608+ ensure_cuda_torch
602609
603610 # restore LD_PRELOAD if we cleared it
604611 end_arm_install_sandbox
0 commit comments