_dexcelbot_sdk 动态库(.so / .dll / .dylib / .pyd)dexcelbot_apexhand_sdk.py 与原生库处于同一 SDK 发行包中SDK 底层通过
ctypes和 pybind11 加载 C++ 扩展,因此 正确放置原生库和配置搜索路径非常重要。
典型的 SDK 目录结构如下(仅示例):
your_project/
├─ python/
│ ├─ dexcelbot_apexhand_sdk.py
│ ├─ _dexcelbot_sdk.cp311-win_amd64.pyd # 或对应平台的 .so / .dylib
│ └─ lib/
│ ├─ libdexcelbot_xxx.dll
│ └─ ...
└─ examples/
└─ basic_control.py
dexcelbot_apexhand_sdk.py 会自动:
python/lib/ 目录加入 sys.pathlibdexcelbot*.so / libdexcelbot*.dylib / libdexcelbot*.dll_dexcelbot_sdk如果 SDK 以 Python 包形式提供,你可以在 SDK 根目录执行:
pip install -e .
然后在任意项目中直接:
from dexcelbot_apexhand_sdk import DexcelBot
dexcelbot_apexhand_sdk.py 拷贝到你的项目(例如 your_project/python/)。_dexcelbot_sdk.* 与 lib/ 整个目录保持原有相对位置一并拷贝。import sys
from pathlib import Path
SDK_ROOT = Path(__file__).parent / "python"
sys.path.insert(0, str(SDK_ROOT))
from dexcelbot_apexhand_sdk import DexcelBot
当无法导入 _dexcelbot_sdk 时,SDK 会抛出 ImportError,并给出详细的尝试路径和错误信息。常见原因与解决方案包括:
sys.path 中pip install -e .
_dexcelbot_sdk 的目录加入 sys.path。python/lib/ 目录下存在 libdexcelbot*.so / .dll / .dylib。cmake --build ...),并把生成的库文件复制到 python/lib/。LD_LIBRARY_PATH 让系统找到 SDK 依赖库,例如:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/dexcelbot_sdk/python/lib
Dependency Walker 等工具可以帮助排查缺失的依赖 DLL。安装完成后,建议运行一个最小脚本验证:
from dexcelbot_apexhand_sdk import DexcelBot, ErrorCode
bot = DexcelBot()
print("SDK 实例创建成功")
# 如果当前环境还未连接真实硬件,此处仅调用而不校验返回值
result = bot.disconnect()
print("调用 disconnect() 返回:", result)
能正常导入并创建 DexcelBot 实例,则说明 Python 层 SDK 安装已经正确,接下来可以继续配置网络与实际机械手连接。