NI VISA + pyVisa на Mac OS X (Снежный барс) - PullRequest
5 голосов
/ 04 апреля 2011

Кто-нибудь успешно запускал pyVisa на Snow Leopard с модулем NI GPIB?

На основании всех форумов, которые я читал на сайте NI, не представляется возможным, что комбинация NI VISA и pyVisa может быть выполнена в Max OS X.

Беспокойство вызывает то, что веб-сайт NI имеет поддержку NI VISA , указанную для Mac OS X . Однако на своих страницах поддержки они не указывают OS X как поддерживаемую ОС.

Буду очень признателен за любые комментарии или помощь, поскольку мне бы очень хотелось избежать использования Windows для разработки программного обеспечения, а также разрешить межплатформенную поддержку.

Ответы [ 3 ]

6 голосов
/ 07 апреля 2011

Оказывается, NI-VISA 5.0 хорошо работает на 10.6.6.

У меня возникла проблема при вызове визы pyVisa. В документе («GPIB :: 1») сказано, что библиотека не найдена.Однако при вызове visa.get_instruments_list () мой адаптер GPIB отображался как GPIB0.Используя это как устройство, я смог правильно подключиться.

Мне пришлось внести несколько изменений, которые не были хорошо документированы на сайте NI (что я смог найти, по крайней мере), чтобы добиться этого.Наиболее важным из них является имя библиотеки VISA, которую устанавливает NI-VISA 5.0.Это найдено в /Library/Frameworks/Visa.framework/VISA.Я не пытался изменить файл nsi для автоматической ссылки на эту библиотеку, как упоминается в документации pyVisa.

Я не смог установить pyvisa с pip.Я должен был использовать easy_install.Если кому-то удалось установить pyvisa с помощью pip, мне бы очень хотелось узнать, как!

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

Python 2.7 работает с virutalenv + virtualenvwrapper.Снежный барс 10.6.6.NI-VISA 5.0

Пример кода:

from pyvisa.vpp43 import visa_library
visa_library.load_library("/Library/Frameworks/Visa.framework/VISA")
import visa
visa.get_instruments_list() # Yields: ['ASRL1', 'ASRL2', 'ASRL3', 'ASRL4', 'GPIB0::1']
temp = visa.Instrument("GPIB0::1")
print temp # Yeilds: Instrument("GPIB0::1::INSTR")

Обновление:
После переезда в Lion я обнаружил одни и те же проблемы, и мне приходилось каждый раз загружать библиотеку вручную.Это заставляет меня думать, что я что-то упустил.

3 голосов
/ 31 января 2013

Я установил NI-VISA-5.0.0, NI-VISA-5.1.2 и PyVisa-1.4 на OSX 10.8.2 (Mountain Lion), и я получаю следующую ошибку

>>> import pyvisa.vpp43 as vpp43
>>> 
>>> 
>>> vpp43.visa_library.load_library('/Library/Frameworks/VISA.framework/VISA')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/PyVISA-1.4-py2.7.egg/pyvisa/vpp43.py", line 146, in load_library
    self.__lib = self.__cdecl_lib = cdll.LoadLibrary(path)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 431, in LoadLibrary
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 353, in __init__
OSError: dlopen(/Library/Frameworks/VISA.framework/VISA, 6): no suitable image found.  Did find:
    /Library/Frameworks/VISA.framework/VISA: no matching architecture in universal wrapper
    /Library/Frameworks/VISA.framework/VISA: no matching architecture in universal wrapper
>>>
1 голос
/ 11 декабря 2013

Прекрасно работает в Mountain Lion 10.8.5.

  1. Установить NI-VISA Runtime 5.4.
  2. Установить pyvisa

Сначала создайте двоичный файл Python для i386 (встроенный в Mac OS), чтобы принудительно включить Python в 32-разрядный режим.

$ lipo -thin i386 -output python-i386 /usr/bin/python2.7
$ ./python-i386

А потом:

# make sure pyvisa is available in the built-in python
import sys
sys.path.append('path-to-your-pyvisa')

from pyvisa.vpp43 import visa_library
visa_library.load_library("/Library/Frameworks/Visa.framework/VISA")
import visa
visa.get_instruments_list()
...