#!/usr/bin/env python3 """ 测试客户机器环境和依赖包 """ import sys import os from pathlib import Path def test_python_version(): """测试Python版本""" print(f"Python版本: {sys.version}") print(f"Python路径: {sys.executable}") def test_influxdb_client(): """测试InfluxDB客户端""" try: import influxdb_client print(f"✓ influxdb_client 已安装,版本: {influxdb_client.__version__}") return True except ImportError as e: print(f"✗ influxdb_client 未安装: {e}") return False def test_pandas(): """测试pandas""" try: import pandas as pd print(f"✓ pandas 已安装,版本: {pd.__version__}") return True except ImportError as e: print(f"✗ pandas 未安装: {e}") return False def test_other_dependencies(): """测试其他依赖""" dependencies = [ 'json', 'datetime', 'logging', 'os', 'sys' ] for dep in dependencies: try: __import__(dep) print(f"✓ {dep} 可用") except ImportError as e: print(f"✗ {dep} 不可用: {e}") def test_environment_variables(): """测试环境变量""" required_vars = [ 'INFLUX_URL', 'INFLUX_ORG', 'INFLUX_TOKEN', 'INFLUX_BUCKET', 'INFLUX_MEASUREMENT', 'EXPERIMENT_START', 'EXPERIMENT_END' ] print("\n环境变量检查:") all_set = True for var in required_vars: value = os.environ.get(var) if value: # 隐藏敏感信息 if 'TOKEN' in var and len(value) > 8: display_value = f"{value[:4]}****" else: display_value = value print(f"✓ {var} = {display_value}") else: print(f"✗ {var} 未设置") all_set = False return all_set def create_mock_temperature_data(): """创建模拟温度数据用于测试""" mock_data = { "tables": [{ "token": "scriptTable1", "startRow": 0, "startCol": 0, "cells": [ {"row": 1, "col": 1, "value": "2025-11-27 11:30:00"}, {"row": 1, "col": 3, "value": "2025-11-27 15:00:00"}, {"row": 0, "col": 1, "value": "25.5"}, # 模拟环境温度 {"row": 4, "col": 0, "value": "45.2"}, # 模拟主轴承温度 {"row": 4, "col": 1, "value": "46.1"}, {"row": 5, "col": 0, "value": "44.8"}, ] }] } import json print("\n模拟数据 (用于测试报告生成):") print(json.dumps(mock_data, ensure_ascii=False, indent=2)) return mock_data def main(): print("客户机器环境测试") print("=" * 50) # 测试Python环境 test_python_version() print() # 测试依赖包 print("依赖包检查:") influx_ok = test_influxdb_client() pandas_ok = test_pandas() test_other_dependencies() print() # 测试环境变量 env_ok = test_environment_variables() print() # 创建模拟数据 mock_data = create_mock_temperature_data() # 总结 print("\n" + "=" * 50) print("总结:") if not influx_ok: print("❌ 需要安装 influxdb-client:") print(" pip install influxdb-client==1.43.0") if not pandas_ok: print("❌ 需要安装 pandas:") print(" pip install pandas") if not env_ok: print("❌ 需要设置所有必需的环境变量") if influx_ok and pandas_ok and env_ok: print("✅ 环境配置正确,可以运行temperature_table.py") else: print("⚠️ 环境配置不完整,但可以使用模拟数据测试报告生成") if __name__ == "__main__": main()