diff options
author | Tom Aarsen <Cubiegamedev@gmail.com> | 2022-09-15 10:57:49 +0200 |
---|---|---|
committer | Tom Aarsen <Cubiegamedev@gmail.com> | 2022-09-15 10:57:49 +0200 |
commit | a58cc5a13c99251956b073a50e03aec41a3a2e3f (patch) | |
tree | fbf3643d6b6b2a7db5fc2a0a2e2d352a61bc3ada /bitsandbytes | |
parent | 9b5f2eda8fbd3f042c4af7ed1b870525d4668f2a (diff) |
Prevent OSError when env variables contain long value
Diffstat (limited to 'bitsandbytes')
-rw-r--r-- | bitsandbytes/cuda_setup/paths.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/bitsandbytes/cuda_setup/paths.py b/bitsandbytes/cuda_setup/paths.py index 6f6425f..231b053 100644 --- a/bitsandbytes/cuda_setup/paths.py +++ b/bitsandbytes/cuda_setup/paths.py @@ -1,3 +1,4 @@ +import errno from pathlib import Path from typing import Set, Union from warnings import warn @@ -12,17 +13,22 @@ def extract_candidate_paths(paths_list_candidate: str) -> Set[Path]: def remove_non_existent_dirs(candidate_paths: Set[Path]) -> Set[Path]: - non_existent_directories: Set[Path] = { - path for path in candidate_paths if not path.exists() - } - + existent_directories: Set[Path] = set() + for path in candidate_paths: + try: + if path.exists(): + existent_directories.add(path) + except errno.ENAMETOOLONG: + pass + + non_existent_directories: Set[Path] = candidate_paths - existent_directories if non_existent_directories: warn( "WARNING: The following directories listed in your path were found to " f"be non-existent: {non_existent_directories}" ) - return candidate_paths - non_existent_directories + return existent_directories def get_cuda_runtime_lib_paths(candidate_paths: Set[Path]) -> Set[Path]: |