test_import.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. """
  4. 测试导入是否正常
  5. """
  6. import sys
  7. import os
  8. # 添加当前目录到路径
  9. current_dir = os.path.dirname(os.path.abspath(__file__))
  10. sys.path.insert(0, current_dir)
  11. print("测试1: 导入20分钟预测模块...")
  12. try:
  13. # 使用importlib动态加载
  14. import importlib.util
  15. spec = importlib.util.spec_from_file_location(
  16. "predict_20min",
  17. os.path.join(current_dir, "20min", "predict.py")
  18. )
  19. predict_20min = importlib.util.module_from_spec(spec)
  20. spec.loader.exec_module(predict_20min)
  21. print(" [成功] 20分钟预测模块导入成功")
  22. print(f" Predictor类: {predict_20min.Predictor}")
  23. except Exception as e:
  24. print(f" [失败] {e}")
  25. import traceback
  26. traceback.print_exc()
  27. print("\n测试2: 导入90天预测模块...")
  28. try:
  29. spec = importlib.util.spec_from_file_location(
  30. "predict_90day",
  31. os.path.join(current_dir, "90day", "predict.py")
  32. )
  33. predict_90day = importlib.util.module_from_spec(spec)
  34. spec.loader.exec_module(predict_90day)
  35. print(" [成功] 90天预测模块导入成功")
  36. print(f" Predictor类: {predict_90day.Predictor}")
  37. except Exception as e:
  38. print(f" [失败] {e}")
  39. import traceback
  40. traceback.print_exc()
  41. print("\n测试3: 导入共享模块...")
  42. try:
  43. sys.path.insert(0, os.path.join(current_dir, "shared"))
  44. from shared.gat_lstm import GAT_LSTM
  45. print(" [成功] GAT_LSTM模型导入成功")
  46. print(f" GAT_LSTM类: {GAT_LSTM}")
  47. except Exception as e:
  48. print(f" [失败] {e}")
  49. import traceback
  50. traceback.print_exc()
  51. print("\n测试4: 测试API主程序...")
  52. try:
  53. spec = importlib.util.spec_from_file_location(
  54. "api_main",
  55. os.path.join(current_dir, "api_main.py")
  56. )
  57. api_main = importlib.util.module_from_spec(spec)
  58. # 不执行module,只检查能否加载
  59. print(" [成功] API主程序可以加载")
  60. except Exception as e:
  61. print(f" [失败] {e}")
  62. import traceback
  63. traceback.print_exc()
  64. print("\n全部测试完成!")