From 4a16a920a35de66a67ab4b5d19bb45b66a1ca738 Mon Sep 17 00:00:00 2001 From: Jared Van Bortel Date: Mon, 26 Feb 2024 13:15:02 -0500 Subject: [PATCH] python: actually fix python 3.8 compatibility (#1973) importlib.resources.files also didn't exist until python 3.9. Fixes #1972 Signed-off-by: Jared Van Bortel --- gpt4all-bindings/python/gpt4all/_pyllmodel.py | 8 ++++++-- gpt4all-bindings/python/setup.py | 6 +++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/gpt4all-bindings/python/gpt4all/_pyllmodel.py b/gpt4all-bindings/python/gpt4all/_pyllmodel.py index fcf7b733..fd9ff4b0 100644 --- a/gpt4all-bindings/python/gpt4all/_pyllmodel.py +++ b/gpt4all-bindings/python/gpt4all/_pyllmodel.py @@ -1,7 +1,6 @@ from __future__ import annotations import ctypes -import importlib.resources import logging import os import platform @@ -13,11 +12,16 @@ from enum import Enum from queue import Queue from typing import Callable, Iterable, List +if sys.version_info >= (3, 9): + import importlib.resources as importlib_resources +else: + import importlib_resources + logger: logging.Logger = logging.getLogger(__name__) # TODO: provide a config file to make this more robust -MODEL_LIB_PATH = importlib.resources.files("gpt4all") / "llmodel_DO_NOT_MODIFY" / "build" +MODEL_LIB_PATH = importlib_resources.files("gpt4all") / "llmodel_DO_NOT_MODIFY" / "build" def load_llmodel_library(): diff --git a/gpt4all-bindings/python/setup.py b/gpt4all-bindings/python/setup.py index e13bca6c..f9952c4b 100644 --- a/gpt4all-bindings/python/setup.py +++ b/gpt4all-bindings/python/setup.py @@ -86,7 +86,11 @@ setup( ], python_requires='>=3.8', packages=find_packages(), - install_requires=['requests', 'tqdm'], + install_requires=[ + 'requests', + 'tqdm', + 'importlib_resources; python_version < "3.9"', + ], extras_require={ 'dev': [ 'pytest',