Troubleshooting

If you’re having any trouble running your pyQuil programs locally or on the QPU, please check the following things before sending a support request. It will save you time and make it easier for us to help!

Timeout in Compilation

This may occur due to the size of your program, problems with your local quilc service, or problems with the remote QCS API.

  1. Ensure that quilc is running, per the compiler documentation: The Quil Compiler.

  2. Try compiling and running a smaller program, or one that previously worked.

  3. If you have a larger program and expect it to take a long time to compile, set a higher compiler_timeout value per the instructions here: The Quil Compiler.

Timeout in Execution

This may occur due to one of several different problems. Often, it’s because you don’t have network access to the execution endpoint.

If you’re running against the QVM, ensure that it is properly running: Setting Up Server Mode for pyQuil. If you’re using docker, you can check this using docker ps.

If you’re running against the QPU, ensure that you are running your program from a supported environment. Live Rigetti QPUs are only accessible from Rigetti-provided environments, such as JupyterHub. If you are running from anywhere else, such as a script on your local computer or a public cloud virtual machine, your program will not be able to reach a QPU and will time out.

Collect Debug Information

  1. Ensure that your pyQuil version is up to date. If you’re using pip, you can do this with pip freeze. Within your script, you can use __version__:

    import pyquil
    print(pyquil.__version__)
    

    You can update pyQuil with pip using pip install pyquil --upgrade. You can find the latest version available at our releases page or on PyPi.

2. If the error appears to be authentication-related, refer to the QCS CLI documentation.

  1. Run your script with debug logging enabled. If you’re running a script, you can enable that using an environment variable:

    LOG_LEVEL=DEBUG pyquil my_script.py
    

    or

    import logging
    from pyquil.api._logger import logger
    
    logger.setLevel(logging.DEBUG)
    

If the problem still isn’t clear, then we can help! Please file an issue on the GitHub repo if it’s an issue with pyQuil itself, or contact us at our support page for problems with QCS.

Thanks for using pyQuil!