From 05daf869d111cdc71caec6fa4326d70e6500d4cf Mon Sep 17 00:00:00 2001 From: minecraft1024a Date: Sat, 1 Nov 2025 21:03:16 +0800 Subject: [PATCH] =?UTF-8?q?fix(plugin=5Fsystem):=20=E8=B8=B9=E6=AD=BB?= =?UTF-8?q?=E5=87=A0=E4=B8=AA=E7=B1=BB=E5=9E=8B=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugin_system/base/component_types.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/plugin_system/base/component_types.py b/src/plugin_system/base/component_types.py index 87e771bfe..b34bcf20e 100644 --- a/src/plugin_system/base/component_types.py +++ b/src/plugin_system/base/component_types.py @@ -374,16 +374,23 @@ class PluginInfo: """检查缺失的Python包""" missing = [] for dep in self.python_dependencies: + dep_obj = dep if isinstance(dep, PythonDependency) else PythonDependency(package_name=dep) try: - __import__(dep.package_name) + __import__(dep_obj.package_name) except ImportError: - if not dep.optional: - missing.append(dep) + if not dep_obj.optional: + missing.append(dep_obj) return missing def get_pip_requirements(self) -> list[str]: """获取所有pip安装格式的依赖""" - return [dep.get_pip_requirement() for dep in self.python_dependencies] + requirements = [] + for dep in self.python_dependencies: + if isinstance(dep, str): + requirements.append(dep) + elif isinstance(dep, PythonDependency): + requirements.append(dep.get_pip_requirement()) + return requirements @dataclass