当前位置: 首页 > news >正文

当comfyui-reactor-node 安装失败urllib.error.HTTPError: HTTP Error 403: Forbidden解决方法

comfyUI 节点comfyui-reactor-node 安装 python install 时

报错

urllib.error.HTTPError: HTTP Error 403: Forbidden 如下:

(xxx) xxxx@xxx:~/sdb/Q/ComfyUI/custom_nodes/comfyui-reactor-node$ python install.py
Traceback (most recent call last):
  File "/home/ruiy/sdb/Q/ComfyUI/custom_nodes/comfyui-reactor-node/install.py", line 62, in <module>
    download(model_url, model_path, model_name)
  File "/home/ruiy/sdb/Q/ComfyUI/custom_nodes/comfyui-reactor-node/install.py", line 53, in download
    request = urllib.request.urlopen(url)
  File "/home/ruiy/anaconda3/envs/env/lib/python3.10/urllib/request.py", line 216, in urlopen
    return opener.open(url, data, timeout)
  File "/home/ruiy/anaconda3/envs/env/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/home/ruiy/anaconda3/envs/env/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/home/ruiy/anaconda3/envs/env/lib/python3.10/urllib/request.py", line 557, in error
    result = self._call_chain(*args)
  File "/home/ruiy/anaconda3/envs/env/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/home/ruiy/anaconda3/envs/env/lib/python3.10/urllib/request.py", line 749, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
  File "/home/ruiy/anaconda3/envs/env/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/home/ruiy/anaconda3/envs/env/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/home/ruiy/anaconda3/envs/env/lib/python3.10/urllib/request.py", line 563, in error
    return self._call_chain(*args)
  File "/home/ruiy/anaconda3/envs/env/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/home/ruiy/anaconda3/envs/env/lib/python3.10/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

原因:

 墙

 墙

 墙

 墙

 墙

 墙 

 墙 

 墙 

 墙

解决方法:

修改comfyui-reactor-node中 install.py 文件中的model_url 

 将文件中的model_url 替换如下:

model_url = "https://hf-mirror.com/datasets/Gourieff/ReActor/blob/main/models/inswapper_128.onnx"model_name = os.path.basename(model_url)
models_dir_path = os.path.join(models_dir, "insightface")
model_path = os.path.join(models_dir_path, model_name)

install.py 备用代码

import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)import subprocess
import os, sys
try:from pkg_resources import get_distribution as distributions
except:from importlib_metadata import distributions
from tqdm import tqdm
import urllib.request
from packaging import version as pv
try:from folder_paths import models_dir
except:from pathlib import Pathmodels_dir = os.path.join(Path(__file__).parents[2], "models")sys.path.append(os.path.dirname(os.path.realpath(__file__)))req_file = os.path.join(os.path.dirname(os.path.realpath(__file__)), "requirements.txt")model_url = "https://hf-mirror.com/datasets/Gourieff/ReActor/blob/main/models/inswapper_128.onnx"
model_name = os.path.basename(model_url)
models_dir_path = os.path.join(models_dir, "insightface")
model_path = os.path.join(models_dir_path, model_name)def run_pip(*args):subprocess.run([sys.executable, "-m", "pip", "install", "--no-warn-script-location", *args])def is_installed (package: str, version: str = None, strict: bool = True
):has_package = Nonetry:has_package = distributions(package)if has_package is not None:if version is not None:installed_version = has_package.versionif (installed_version != version and strict == True) or (pv.parse(installed_version) < pv.parse(version) and strict == False):return Falseelse:return Trueelse:return Trueelse:return Falseexcept Exception as e:print(f"Status: {e}")return Falsedef download(url, path, name):request = urllib.request.urlopen(url)total = int(request.headers.get('Content-Length', 0))with tqdm(total=total, desc=f'[ReActor] Downloading {name} to {path}', unit='B', unit_scale=True, unit_divisor=1024) as progress:urllib.request.urlretrieve(url, path, reporthook=lambda count, block_size, total_size: progress.update(block_size))if not os.path.exists(models_dir_path):os.makedirs(models_dir_path)if not os.path.exists(model_path):download(model_url, model_path, model_name)with open(req_file) as file:try:ort = "onnxruntime-gpu"import torchcuda_version = Noneif torch.cuda.is_available():cuda_version = torch.version.cudaprint(f"CUDA {cuda_version}")elif torch.backends.mps.is_available() or hasattr(torch,'dml') or hasattr(torch,'privateuseone'):ort = "onnxruntime"if cuda_version is not None and float(cuda_version)>=12 and torch.torch_version.__version__ <= "2.2.0": # CU12.x and torch<=2.2.0print(f"Torch: {torch.torch_version.__version__}")if not is_installed(ort,"1.17.0",False):run_pip(ort,"--extra-index-url", "https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/")elif cuda_version is not None and float(cuda_version)>=12 and torch.torch_version.__version__ >= "2.4.0" : # CU12.x and latest torchprint(f"Torch: {torch.torch_version.__version__}")if not is_installed(ort,"1.20.1",False): # latest ort-gpurun_pip(ort,"-U")elif not is_installed(ort,"1.16.1",False):run_pip(ort, "-U")except Exception as e:print(e)print(f"Warning: Failed to install {ort}, ReActor will not work.")raise estrict = Truefor package in file:package_version = Nonetry:package = package.strip()if "==" in package:package_version = package.split('==')[1]elif ">=" in package:package_version = package.split('>=')[1]strict = Falseif not is_installed(package,package_version,strict):run_pip(package)except Exception as e:print(e)print(f"Warning: Failed to install {package}, ReActor will not work.")raise e
print("Ok")


 

http://www.lryc.cn/news/522843.html

相关文章:

  • SSE 实践:用 Vue 和 Spring Boot 实现实时数据传输
  • TouchGFX学习笔记(一)
  • Java算法 二叉树入门 力扣简单题相同的树 翻转二叉树 判断对称二叉树 递归求二叉树的层数
  • 如何将 session 共享存储到 redis 中
  • vue3学习三
  • 彻底理解JVM类加载机制
  • 【计算机体系结构、微架构性能分析】core 与 uncore 分别是哪一些部分?区分 core 和 uncore
  • 鸿蒙打包发布
  • vue2:实现上下两栏布局,可拖拽改变高度
  • MongoDB 学习指南:深入探索非关系型数据库
  • 天机学堂3-ES+Caffeine
  • FPGA车牌识别
  • Pandas库的常用内容归纳
  • R语言的并发编程
  • STM32 FreeRTOS中断管理
  • 数据结构-栈和队列
  • RabbitMQ---TTL与死信
  • 第4章 Kafka核心API——Kafka客户端操作
  • Python爬虫学习前传 —— Python从安装到学会一站式服务
  • Lora理解QLoRA
  • Linux测试处理fps为30、1920*1080、一分钟的视频性能
  • Flink (六):DataStream API (三) 窗口
  • MYSQL学习笔记(二):基本的SELECT语句使用(基本、条件、聚合函数查询)
  • PCL 点到面的ICP算法实现点云配准(C++详细过程版)
  • MarsCode青训营打卡Day1(2025年1月14日)|稀土掘金-16.最大矩形面积问题
  • 我的世界-与门、或门、非门等基本门电路实现
  • 【FISCO BCOS】二十三、部署WeBASE-Node-Manager
  • app版本控制java后端接口版本管理
  • Go语言strings包与字符串操作:从基础到高级的全面解析
  • 使用redis-cli命令实现redis crud操作