Pyvisa не может найти реализацию VISA - PullRequest
0 голосов
/ 24 ноября 2018

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.

Настройка системы:

  • Windows 10 Pro v1709 (64-бит)
  • python v2.7.15 (64-бит)
  • pyvisa v1.9.1
  • NI-Visa 17.50

Я подтвердилСуществуют файлы .dll:

  • C: \ Windows \ System32 \ visa32.dll
  • C: \ Windows \ System32 \ visa64.dll

иpyvisa.info читает:

C: \ Python27> Информация о визе python -m Сведения о машине: Идентификатор платформы:
Windows-10-10.0.16299 Процессор: Семейство Intel64 6 Модель 60 Шаг 3, GenuineIntel

Python: Реализация: Исполняемый файл CPython:
C: \ Python27 \ python.exe Версия: 2.7.15 Компилятор:
MSC v.1500 64 бит (AMD64) Биты: 64 бит Сборка:
30 апреля 2018 16:30:26 (# v2.7.15: ca079a3ea3) Юникод: UCS2

Версия PyVISA: 1.9.1 Бэкэнды: ni: Версия: 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_library, то есть pyvisa.поиск пути (и сбой) в отличие от использования указанного бэкэнда.

...