1.利用Python开发Leap motion,首先需要在Python程序中导入leap库(import leap)否则会出现如下情况:ImportError: DLL load failed:找不到指定的模块 。

2.解决方案(两种方法2.1,2.2)

重点强调:Leap Motion SDK里的LeapPython只支持Python 2.7。本人之前安装的是anaconda3-4.4.0-python3.6,使用的是python3.6,加载失败。然后担心anaconda2与3冲突,卸载anaconda3,重装的2。

详解请看官网:https://developer.leapmotion.com/documentation/v2/python/devguide/Project_Setup.html#id12

2.1.把相应库文件放到自己创建的python源码所在目录下

python程序加载leap库的方法

官网中给出三种系统的加载情况,本人使用的是windows,其他的系统根据上述表格仿照windows。

a.找到LeapSDK中的Python库,在其lib文件夹中,如E:\leapsdk313\LeapSDK\lib;

b.打开lib首先可以看到Leap.py(python module)文件以及x64(64bit native  libraries)和x86(32bit native  libraries)文件夹;

c.选择相应的32位或者64位的文件夹,打开可以看到LeapPython.pyd和Leap.dll两个文件;

d.把上述三个文件(Leap.py,LeapPython.pydLeap.dll)放到保存了python源码的同一目录下即可。

我在自己创建的含有python源程序所在位置,加入leaplib文件夹,添加了上述三个文件,程序中键入import Leap,即可导入成功!

2.2.在导入前,添加路径代码

2.1方法的缺点是只要重新编写一段代码就要把leaplib文件夹,放入源代码的目录下。所以可以固定leaplib文件夹的位置(2.2方法),加载进来即可,不需每次都放入新建的源代码目录下。

a.将2.1中的三个文件放到leaplib文件夹中;leaplib文件夹可放到任意合适的位置。我放的位置:E:\leapsdk313\LeapSDK\leaplib

b.将该文件夹的完整路径添加到代码中,第一种或者第二种。

import os, sys, inspect
src_dir = os.path.dirname(inspect.getfile(inspect.currentframe()))
lib_dir = os.path.abspath(os.path.join(src_dir, 'E:\leapsdk313\LeapSDK\leaplib'))
sys.path.insert(0, lib_dir)
import Leap

import sys
sys.path.insert(0, "E:\leapsdk313\LeapSDK\leaplib")
import Leap

现在再来运行程序,即可运行成功!!!


相关文章: