FIXED: pip downgrade blacklisting doesn't work if ~= pattern

https://github.com/ltdrdata/ComfyUI-Manager/issues/1301
https://github.com/ltdrdata/ComfyUI-Manager/issues/1425
This commit is contained in:
Dr.Lt.Data 2025-01-12 01:22:26 +09:00
parent 0903f28b0c
commit 85a03e6249
3 changed files with 10 additions and 6 deletions

View File

@ -41,7 +41,7 @@ import manager_downloader
from node_package import InstalledNodePackage
version_code = [3, 6, 3]
version_code = [3, 6, 4]
version_str = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '')
@ -277,7 +277,7 @@ def is_installed(name):
if match is None:
if name in pips:
return True
elif match.group(2) in ['<=', '==', '<']:
elif match.group(2) in ['<=', '==', '<', '~=']:
if name in pips:
if manager_util.StrictVersion(pips[name]) >= manager_util.StrictVersion(match.group(3)):
print(f"[ComfyUI-Manager] skip black listed pip installation: '{name}'")
@ -723,8 +723,12 @@ class UnifiedManager:
return res
async def get_custom_nodes(self, channel, mode):
default_channel = normalize_channel('default')
cache = self.custom_node_map_cache.get((default_channel, mode)) # CNR/nightly should always be based on the default channel.
# default_channel = normalize_channel('default')
# cache = self.custom_node_map_cache.get((default_channel, mode)) # CNR/nightly should always be based on the default channel.
channel = normalize_channel(channel)
cache = self.custom_node_map_cache.get((channel, mode)) # CNR/nightly should always be based on the default channel.
if cache is not None:
return cache

View File

@ -418,7 +418,7 @@ def is_installed(name):
if match is None:
if name in pips:
return True
elif match.group(2) in ['<=', '==', '<']:
elif match.group(2) in ['<=', '==', '<', '~=']:
if name in pips:
if manager_util.StrictVersion(pips[name]) >= manager_util.StrictVersion(match.group(3)):
print(f"[ComfyUI-Manager] skip black listed pip installation: '{name}'")

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.6.3"
version = "3.6.4"
license = { file = "LICENSE.txt" }
dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions"]