fixed: normalize pip name

package name in requirements is 'comfyui-frontend-package'
but, package name from `pip freeze` is 'comfyui_frontend_package'
but, package name from `uv pip freeze` is 'comfyui-frontend-package'

https://github.com/ltdrdata/ComfyUI-Manager/pull/1615#issue-2898212382
This commit is contained in:
Dr.Lt.Data 2025-03-06 21:41:56 +09:00
parent 2220f325fc
commit e87d616b7a
3 changed files with 12 additions and 5 deletions

View File

@ -43,7 +43,7 @@ import manager_downloader
from node_package import InstalledNodePackage
version_code = [3, 30]
version_code = [3, 30, 1]
version_str = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '')

View File

@ -246,7 +246,8 @@ def get_installed_packages(renew=False):
if y[0] == 'Package' or y[0].startswith('-'):
continue
pip_map[y[0].lower()] = y[1]
normalized_name = y[0].lower().replace('-', '_')
pip_map[normalized_name] = y[1]
except subprocess.CalledProcessError:
logging.error("[ComfyUI-Manager] Failed to retrieve the information of installed pip packages.")
return set()
@ -426,7 +427,12 @@ class PIPFixer:
# fix missing frontend
try:
if 'comfyui-frontend-package' not in new_pip_versions:
# NOTE: package name in requirements is 'comfyui-frontend-package'
# but, package name from `pip freeze` is 'comfyui_frontend_package'
# but, package name from `uv pip freeze` is 'comfyui-frontend-package'
#
# get_installed_packages returns normalized name (i.e. comfyui_frontend_package)
if 'comfyui_frontend_package' not in new_pip_versions:
requirements_path = os.path.join(self.comfyui_path, 'requirements.txt')
with open(requirements_path, 'r') as file:
@ -452,7 +458,8 @@ class PIPFixer:
parsed = parse_requirement_line(x)
need_to_reinstall = True
if parsed['package'] in new_pip_versions:
normalized_name = parsed['package'].lower().replace('-', '_')
if normalized_name in new_pip_versions:
if 'version' in parsed and 'operator' in parsed:
cur = StrictVersion(new_pip_versions[parsed['package']])
dest = parsed['version']

View File

@ -1,7 +1,7 @@
[project]
name = "comfyui-manager"
description = "ComfyUI-Manager provides features to install and manage custom nodes for ComfyUI, as well as various functionalities to assist with ComfyUI."
version = "3.30"
version = "3.30.1"
license = { file = "LICENSE.txt" }
dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions", "toml", "uv", "chardet"]