|
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