improve importlib experience for windows users

This commit is contained in:
rasbt 2024-04-03 06:31:15 -05:00
parent e14585e954
commit dd115c1374
2 changed files with 6 additions and 5 deletions

View File

@ -3,7 +3,8 @@
# - https://www.manning.com/books/build-a-large-language-model-from-scratch # - https://www.manning.com/books/build-a-large-language-model-from-scratch
# Code: https://github.com/rasbt/LLMs-from-scratch # Code: https://github.com/rasbt/LLMs-from-scratch
import importlib from importlib.metadata import PackageNotFoundError, import_module
import importlib.metadata
from os.path import dirname, join, realpath from os.path import dirname, join, realpath
from packaging.version import parse as version_parse from packaging.version import parse as version_parse
import platform import platform
@ -20,7 +21,7 @@ def get_packages(pkgs):
versions = [] versions = []
for p in pkgs: for p in pkgs:
try: try:
imported = importlib.import_module(p) imported = import_module(p)
try: try:
version = (getattr(imported, '__version__', None) or version = (getattr(imported, '__version__', None) or
getattr(imported, 'version', None) or getattr(imported, 'version', None) or
@ -29,7 +30,7 @@ def get_packages(pkgs):
# If common attributes don't exist, use importlib.metadata # If common attributes don't exist, use importlib.metadata
version = importlib.metadata.version(p) version = importlib.metadata.version(p)
versions.append(version) versions.append(version)
except importlib.metadata.PackageNotFoundError: except PackageNotFoundError:
# Handle case where package is not installed # Handle case where package is not installed
versions.append('0.0') versions.append('0.0')
except ImportError: except ImportError:

View File

@ -63,9 +63,9 @@
} }
], ],
"source": [ "source": [
"import importlib.metadata\n", "from importlib.metadata import version\n",
"\n", "\n",
"print(\"tiktoken version:\", importlib.metadata.version(\"tiktoken\"))" "print(\"tiktoken version:\", version(\"tiktoken\"))"
] ]
}, },
{ {