Configuring the backend

Currently there are two backends available: The one included in pyvisa which uses the NI library. This is used by default and the configuration is described in the next chapter. And then there is pyvia-py a pure python implementation of the VISA libary. It can be selected by passing a parameter to the ResourceManager:

>>> visa.ResourceManager('@py')

Alternativly it can also be selected by setting the environment variable PYVISA_LIBRARY. It takes the same values as the ResourceManager constructor.

Configuring the NI backend


The NI backend requires that you install first the NI-VISA library. You can get info here: (NI-VISA Installation)

In most cases PyVISA will be able to find the location of the shared visa library. If this does not work or you want to use another one, you need to provide the library path to the pyvisa.highlevel.ResourceManager constructor:

>>> rm = ResourceManager('Path to library')

You can make this library the default for all PyVISA applications by using a configuration file called .pyvisarc (mind the leading dot) in your home directory.

Operating System Location
Windows NT <root>\WINNT\Profiles\<username>
Windows 2000, XP and 2003 <root>\Documents and Settings\<username>
Windows Vista, 7 or 8 <root>\Users\<username>
Mac OS X /Users/<username>
Linux /home/<username> (depends on the distro)

For example in Windows XP, place it in your user folder “Documents and Settings” folder, e.g. C:\Documents and Settings\smith\.pyvisarc if “smith” is the name of your login account.

This file has the format of an INI file. For example, if the library is at /usr/lib/, the file .pyvisarc must contain the following:


VISA library: /usr/lib/

Please note that [Paths] is treated case-sensitively.

You can define a site-wide configuration file at /usr/share/pyvisa/.pyvisarc (It may also be /usr/local/... depending on the location of your Python). Under Windows, this file is usually placed at c:\Python27\share\pyvisa\.pyvisarc.

If you encounter any problem, take a look at the Frequently asked questions. There you will find the solutions to common problem as well as useful debugging techniques. If everything fails, feel free to open an issue in our issue tracker