ezgo 0.0.8__py3-none-any.whl → 0.0.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
ezgo/__init__.py CHANGED
@@ -8,26 +8,39 @@ ezgo - 宇树Go2机器狗Python控制库
8
8
  支持运动控制、视频流获取、UI界面等功能。
9
9
  """
10
10
 
11
- __version__ = "0.0.8"
11
+ __version__ = "0.0.9"
12
12
  __author__ = "ezgo"
13
13
  __email__ = ""
14
14
  __license__ = "MIT"
15
15
 
16
- # 导入主要类
16
+ # 懒加载模块 - 只在实际使用时才导入
17
+ def _lazy_import(module_name, class_name):
18
+ """懒加载模块,避免导入时的依赖检查"""
19
+ def _import():
20
+ try:
21
+ module = __import__(f'.{module_name}', package=__name__, fromlist=[class_name])
22
+ return getattr(module, class_name)
23
+ except ImportError as e:
24
+ # 只在使用时才提示依赖缺失
25
+ raise ImportError(f"使用 {class_name} 需要安装额外依赖: {e}")
26
+ return _import
27
+
28
+ # 定义懒加载函数
29
+ _Go2 = _lazy_import('go2', 'Go2')
30
+ _Camera = _lazy_import('camera', 'Camera')
31
+ _APP = _lazy_import('ui', 'APP')
32
+ _Go2Camera = _lazy_import('go2_camera', 'Go2Camera')
33
+ _Go2VUI = _lazy_import('go2_vui', 'Go2VUI')
34
+
35
+ # 直接导入不需要额外依赖的模块
17
36
  try:
18
- from .go2 import Go2
19
- from .camera import Camera
20
- from .ui import APP
21
- from .go2_camera import Go2Camera
22
- from .go2_vui import Go2VUI
37
+ from .eztk import EasyTk
38
+ from .ezcamera import Camera as EzCamera
23
39
  except ImportError as e:
24
- print(f"警告: 无法导入部分模块: {e}")
25
- print("请确保已安装所有依赖包")
26
- Go2 = None
27
- Camera = None
28
- APP = None
29
- Go2Camera = None
30
- Go2VUI = None
40
+ # 这些模块应该能正常导入,如果失败则显示错误
41
+ print(f"错误: 无法导入核心模块: {e}")
42
+ EasyTk = None
43
+ EzCamera = None
31
44
 
32
45
  # 定义公开的API
33
46
  __all__ = [
@@ -36,6 +49,31 @@ __all__ = [
36
49
  "APP",
37
50
  "Go2Camera",
38
51
  "Go2VUI",
52
+ "EasyTk",
53
+ "EzCamera",
39
54
  "__version__"
40
55
  ]
41
56
 
57
+ # 懒加载属性访问器
58
+ class _LazyModule:
59
+ def __init__(self, import_func):
60
+ self._import_func = import_func
61
+ self._module = None
62
+
63
+ def __call__(self, *args, **kwargs):
64
+ if self._module is None:
65
+ self._module = self._import_func()
66
+ return self._module(*args, **kwargs)
67
+
68
+ def __getattr__(self, name):
69
+ if self._module is None:
70
+ self._module = self._import_func()
71
+ return getattr(self._module, name)
72
+
73
+ # 创建懒加载对象
74
+ Go2 = _LazyModule(_Go2)
75
+ Camera = _LazyModule(_Camera)
76
+ APP = _LazyModule(_APP)
77
+ Go2Camera = _LazyModule(_Go2Camera)
78
+ Go2VUI = _LazyModule(_Go2VUI)
79
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ezgo
3
- Version: 0.0.8
3
+ Version: 0.0.9
4
4
  Summary: 宇树Go2机器狗Python控制库
5
5
  Author-email: ezgo <noreply@example.com>
6
6
  License: MIT
@@ -359,6 +359,18 @@ pip install opencv-python numpy Pillow netifaces
359
359
 
360
360
  ## 更新日志
361
361
 
362
+ ### v0.0.9 (2025-12-09)
363
+ **改进**:
364
+ - 🔧 实现懒加载机制,避免导入时的依赖检查
365
+ - 🔧 只在实际使用Go2相关功能时才检查依赖
366
+ - 🔧 eztk和ezcamera模块可直接使用,无任何依赖警告
367
+ - 🔧 优化模块导入结构,提升用户体验
368
+
369
+ **修复**:
370
+ - 🐛 修复导入ezgo时提示netifaces等依赖缺失的问题
371
+ - 🐛 修复使用eztk/ezcamera时的不必要警告
372
+ - 🐛 实现真正的按需依赖检查机制
373
+
362
374
  ### v0.0.8 (2025-12-09)
363
375
  **改进**:
364
376
  - 🔧 移除自动依赖检查逻辑,避免导入时的警告提示
@@ -1,4 +1,4 @@
1
- ezgo/__init__.py,sha256=SmjryJFLe9pyCHe62Kk0USHpz9V2e7Btn30k46Hd4kM,838
1
+ ezgo/__init__.py,sha256=jMO1jw9Xu2RG-6b1d3ce3yyL_bAF06JP3bct7knaJ9Y,2190
2
2
  ezgo/camera.py,sha256=Vsr44vFtaop4LE0DlWyOHyvxF-jHnVO8iMPUwp5mbsE,2538
3
3
  ezgo/ezcamera.py,sha256=6-3y-1X_L60QsWdsd5-caLoj7Quy9rpyHdp3Tq3JFbU,6536
4
4
  ezgo/eztk.py,sha256=MHWkkZYIL1AFjUXFu2Qq8U9idJV_E1VxFUBe82dvbyA,10463
@@ -6,8 +6,8 @@ ezgo/go2.py,sha256=lSZwpYRAljcV4bAalkZXvs9X-qMaEGcuaHSNegGcX6M,31610
6
6
  ezgo/go2_camera.py,sha256=nawUSLyvqTNiVRQ2sM-UdoJzqwZcySltLbCfUb0G9Qc,8614
7
7
  ezgo/go2_vui.py,sha256=52I4Y8uqGkW9muDEnDzQ236HqVVTIgNIN_2gW5RTC48,10161
8
8
  ezgo/ui.py,sha256=jUik6maaoemI2vsBM92OLZfJfskg54W7hwMls_gxppg,2777
9
- ezgo-0.0.8.dist-info/LICENSE,sha256=Zk4eZBT3KaBhqM3LB_xN7QquwnoWsEHAoA6eLdE6W5M,1060
10
- ezgo-0.0.8.dist-info/METADATA,sha256=ri12uqjYaCo_s3UEjukU6LDhBKKjtgAOhw1eURlTjlw,13088
11
- ezgo-0.0.8.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
12
- ezgo-0.0.8.dist-info/top_level.txt,sha256=BdCFEVD5V_4FxUtvH0BVlZKgxYnp7EKNsYs5OyFxj-g,5
13
- ezgo-0.0.8.dist-info/RECORD,,
9
+ ezgo-0.0.9.dist-info/LICENSE,sha256=Zk4eZBT3KaBhqM3LB_xN7QquwnoWsEHAoA6eLdE6W5M,1060
10
+ ezgo-0.0.9.dist-info/METADATA,sha256=ajPhXH35KqRk1Fr_sler7ZkTWFnafwhn5DmCTwluvPU,13559
11
+ ezgo-0.0.9.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
12
+ ezgo-0.0.9.dist-info/top_level.txt,sha256=BdCFEVD5V_4FxUtvH0BVlZKgxYnp7EKNsYs5OyFxj-g,5
13
+ ezgo-0.0.9.dist-info/RECORD,,
File without changes
File without changes