{"record":{"id":"e1ca2070d39f5e41","repo":"sansan0/TrendRadar","slug":"boto3-pip-install-boto3","errorCode":null,"errorMessage":"远程存储后端需要安装 boto3: pip install boto3","messagePattern":"远程存储后端需要安装 boto3: pip install boto3","errorType":"exception","errorClass":"ImportError","httpStatus":null,"severity":"error","filePath":"trendradar/storage/remote.py","lineNumber":81,"sourceCode":"        temp_dir: Optional[str] = None,\n        timezone: str = DEFAULT_TIMEZONE,\n    ):\n        \"\"\"\n        初始化远程存储后端\n\n        Args:\n            bucket_name: 存储桶名称\n            access_key_id: 访问密钥 ID\n            secret_access_key: 访问密钥\n            endpoint_url: 服务端点 URL\n            region: 区域（可选，部分服务商需要）\n            enable_txt: 是否启用 TXT 快照（默认关闭）\n            enable_html: 是否启用 HTML 报告\n            temp_dir: 临时目录路径（默认使用系统临时目录）\n            timezone: 时区配置\n        \"\"\"\n        if not HAS_BOTO3:\n            raise ImportError(\"远程存储后端需要安装 boto3: pip install boto3\")\n\n        self.bucket_name = bucket_name\n        self.endpoint_url = endpoint_url\n        self.region = region\n        self.enable_txt = enable_txt\n        self.enable_html = enable_html\n        self.timezone = timezone\n\n        # 创建临时目录\n        self.temp_dir = Path(temp_dir) if temp_dir else Path(tempfile.mkdtemp(prefix=\"trendradar_\"))\n        self.temp_dir.mkdir(parents=True, exist_ok=True)\n\n        # 初始化 S3 客户端\n        # 使用 virtual-hosted style addressing（主流）\n        # 根据服务商选择签名版本：\n        # - 腾讯云 COS 和 阿里云 OSS 使用 SigV2 以避免 chunked encoding 问题\n        # - 其他服务商（AWS S3、Cloudflare R2、MinIO 等）默认使用 SigV4\n        use_sigv2 = \"myqcloud.com\" in endpoint_url.lower() or \"aliyuncs.com\" in endpoint_url.lower()","sourceCodeStart":63,"sourceCodeEnd":99,"githubUrl":"https://github.com/sansan0/TrendRadar/blob/8ee26026ba6c11dec41a95fb3895a7162876caa1/trendradar/storage/remote.py#L63-L99","documentation":"Error \"远程存储后端需要安装 boto3: pip install boto3\" thrown in sansan0/TrendRadar.","triggerScenarios":"Thrown at trendradar/storage/remote.py:81 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["执行 pip install boto3 安装远程存储依赖","若不需要远程存储，改用本地存储后端"],"exampleFix":"pip install boto3","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8ee26026ba6c11dec41a95fb3895a7162876caa1","analyzedAt":"2026-08-15T01:42:18.084Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}