Skip to main contentIBM Quantum Documentation

Install Qiskit from source

Installing Qiskit from source allows you to access the current development version, instead of using the version in the Python Package Index (PyPI) repository. This lets you inspect and extend the latest version of the Qiskit code more efficiently.


Create and activate a new virtual environment

First, create a new virtual environment for Qiskit.

  python3 -m venv QiskitDevenv
  source QiskitDevenv/bin/activate

Install the Rust compiler

A Rust compiler must be installed on your system to compile Qiskit. To install the Rust compiler, use the cross-platform Rust installer rustup (opens in a new tab) or another install method. (opens in a new tab)


Install Qiskit

Follow these steps to install Qiskit:

  1. Clone the Qiskit repository.
  git clone https://github.com/Qiskit/qiskit.git
  1. Change to the qiskit directory.
  cd qiskit
  1. (Optional) If you want to run tests or linting checks, install the developer requirements.
  pip install -r requirements-dev.txt
  1. Install qiskit.
  • Standard install:

      pip install .
  • Editable mode: In this mode, you don't need to reinstall Qiskit when there are code changes to the project.

      pip install -e .

    In editable mode, the compiled extensions are built in debug mode without optimizations. This affects the runtime performance of the compiled code. To build the compiled extensions with optimizations enabled, run the following command to rebuild the binary in release mode:

      python setup.py build_rust --release --inplace
    Note

    If you are working on Rust code in Qiskit, you need to rebuild the extension code every time you make a local change. In editable mode, the Rust extension is only built when the install command is run, so local changes you make to the Rust code are not reflected in the installed package unless you rebuild the extension by rerunning build_rust (with or without --release, depending on whether you want to build in release or debug mode).


Next steps

Recommendations
Was this page helpful?