Frequently Asked Questions about pyhf and its use.


Is it possible to set the backend from the CLI?

Yes. Use the --backend option for pyhf cls to specify a tensor backend. The default backend is NumPy. For more information see pyhf cls --help.

Does pyhf support Python 2?

No. Like the rest of the Python community, as of January 2020 the latest releases of pyhf no longer support Python 2. The last release of pyhf that was compatible with Python 2.7 is v0.3.4, which can be installed with

python -m pip install pyhf~=0.3

I only have access to Python 2. How can I use pyhf?

It is recommended that pyhf is used as a standalone step in any analysis, and its environment need not be the same as the rest of the analysis. As Python 2 is not supported it is suggested that you setup a Python 3 runtime on whatever machine you’re using. If you’re using a cluster, talk with your system administrators to get their help in doing so. If you are unable to get a Python 3 runtime, versioned Docker images of pyhf are distributed through Docker Hub.

Once you have Python 3 installed, see the Installation page to get started.


  • import torch or import pyhf causes a Segmentation fault (core dumped)

    This is may be the result of a conflict with the NVIDIA drivers that you have installed on your machine. Try uninstalling and completely removing all of them from your machine

    # On Ubuntu/Debian
    sudo apt-get purge nvidia*

    and then installing the latest versions.