Python中使用virtual bench

在Python中是用virtual bench主要借助了一个pyvirtualbench的python包,这个包的地址:pyvirtualbench.

ni-virtualbench.jpg

其实这个软件包就是给virtual bench的相关API做了一个wrapper,里面最终还是通过DLL调用相关的底层函数,这个包里面调用了一个avbin.dll的链接库,默认给出的是32位版本的链接库,所以我们也就需要用32位的python与之进行匹配,64位python是不能调用32位的链接库的。

遇到的问题:

    self.box = PyVirtualBench(address)
  File "C:\xxxx\worker\devices\virtualbench\__init__.py", line 372, in __init__
    self.nilcicapi = cdll.LoadLibrary("nilcicapi")
  File "C:\Users\xxxxxx\AppData\Local\Programs\Python\Python37-32\lib\ctypes\__init__.py", line 434, in LoadLibrary
    return self._dlltype(name)
  File "C:\Users\xxxxx\AppData\Local\Programs\Python\Python37-32\lib\ctypes\__init__.py", line 356, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found

从堆栈调用上我们可以看到应该是调用cdll.LoadLibrary("nilcicapi")出错了。这个错误是因为没有安装相应的驱动导致的。可以直接下载相应驱动,这个真的是挺麻烦的,好在是可以用了。


本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。

发表新评论