pyvisa 无法找到 VISA 实现并且无法加载 NI-VISA 后端:
>>> import visa
>>> import platform
>>> print(platform.architecture())
('64bit', 'WindowsPE')
>>> rm = visa.ResourceManager(visa_library="C:\\Windows\\System32\\visa64.dll")
ValueError: Could not locate a VISA implementation. Install either the NI binary or pyvisa-py.
系统设置:
我已验证 .dll 文件是否存在:
pyvisa.info 上写着:
C:\Python27>python -m Visa info 机器详细信息:平台 ID:
Windows-10-10.0.16299 处理器:Intel64 家族 6 型号 60 步骤 3,正版英特尔Python:实现:CPython 可执行文件:
C:\Python27\python.exe 版本:2.7.15 编译器:
MSC v.1500 64 位 (AMD64) 位:64 位版本:
2018 年 4 月 30 日 16:30:26 (#v2.7.15:ca079a3ea3) Unicode:UCS2PyVISA版本:1.9.1 后端: 你: 版本:1.9.1(与 PyVISA 捆绑) 二进制库:未找到
但由于某种原因 pyvisa 无法加载 NI-VISA 后端。如果后端未指定,也会发生同样的情况:
>>> import visa
>>> rm = visa.ResourceManager()
ValueError: Could not locate a VISA implementation. Install either the NI binary or pyvisa-py.
我可以单独加载.dll:
ctypes.windll.LoadLibrary("C:\\Windows\\System32\\visa32.dll")
这意味着 Visa 没有正确传递“visa_library”参数,即 pyvisa 正在搜索路径(并且失败),而不是使用指定的后端。
我最终通过更改从
解决了这个问题(对我来说)rm=pyvisa.ResourceManager('C:\WINDOWS\system32\visa32.dll')
到
rm=pyvisa.ResourceManager('C:/WINDOWS/system32/visa32.dll')
在此之前,它可以在我的开发笔记本电脑上运行,没有路径说明符,但不能在生产车间的任何桌面上运行。
一个奇怪的症状是,上面的第一行也无法在开发笔记本电脑上工作,尽管这与 pyvisa 在您决定时决定使用的路径相同(通过将括号留空),这在开发笔记本电脑上工作机器。
我知道这已经晚了 5 年,但它可能会帮助其他同样遇到这个问题的人。 (可能是我自己的未来版本)