|
7 | 7 | import shutil |
8 | 8 | import subprocess |
9 | 9 | import sys |
| 10 | +import urllib.request |
10 | 11 | import warnings |
11 | 12 | from dataclasses import fields, replace |
12 | 13 | from enum import Enum |
13 | 14 | from typing import Any, Callable, Dict, List, Optional, Sequence, Tuple, Union |
| 15 | +from urllib.error import URLError |
14 | 16 |
|
15 | 17 | import numpy as np |
16 | 18 | import sympy |
@@ -827,18 +829,21 @@ def download_plugin_lib_path(py_version: str, platform: str) -> str: |
827 | 829 | base_url = "https://pypi.nvidia.com/tensorrt-llm/" |
828 | 830 | file_name = f"tensorrt_llm-0.18.0-{py_version}-{py_version}-{platform}.whl" |
829 | 831 | download_url = base_url + file_name |
830 | | - cmd = ["wget", download_url] |
831 | 832 | if not (os.path.exists(file_name)): |
832 | 833 | try: |
833 | | - subprocess.run(cmd, check=True) |
| 834 | + logger.debug(f"Downloading {download_url} ...") |
| 835 | + urllib.request.urlretrieve(download_url, file_name) |
834 | 836 | logger.debug("Download succeeded and TRT-LLM wheel is now present") |
835 | | - except subprocess.CalledProcessError as e: |
| 837 | + except urllib.error.HTTPError as e: |
836 | 838 | logger.error( |
837 | | - "Download failed (file not found or connection issue). Error code:", |
838 | | - e.returncode, |
| 839 | + f"HTTP error {e.code} when trying to download {download_url}: {e.reason}" |
839 | 840 | ) |
840 | | - except FileNotFoundError: |
841 | | - logger.error("wget is required but not found. Please install wget.") |
| 841 | + except urllib.error.URLError as e: |
| 842 | + logger.error( |
| 843 | + f"URL error when trying to download {download_url}: {e.reason}" |
| 844 | + ) |
| 845 | + except OSError as e: |
| 846 | + logger.error(f"Local file write error: {e}") |
842 | 847 |
|
843 | 848 | # Proceeding with the unzip of the wheel file |
844 | 849 | # This will exist if the filename was already downloaded |
|
0 commit comments