Skip to main content
IBM Quantum Platform

Install the Qiskit SDK from source

When you install the Qiskit SDK from source, you can access the current development version, instead of using the version in the Python Package Index (PyPI) repository. You can therefore inspect and extend the latest version of the Qiskit code more efficiently.


Create and activate a new virtual environment

  1. Navigate to your project directory and create a minimal environment with only Python installed in it.

    python3 -m venv .venv
  2. Activate your new environment.

    source .venv/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 or another install method.


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?
Report a bug, typo, or request content on GitHub.