はじめに¶
インストール¶
Qiskitを使い始めましょう! 最初に行うことは、パッケージの実行方法とインストール方法を選択することです。 これを行うには、主に3つの方法があります。
Qiskit は Python 3.7 以降をサポートしています。ただし、Python と Qiskit はどちらも進化しているエコシステムであり、どちらか一方で新しいリリースが発生すると、互換性に問題が生じる場合があります。
始めるには Python をローカルシステムにダウンロードする必要があります。 Jupyter は Qiskit とのやり取りに推奨されます。
Qiskitを他のアプリケーションから明確に分離して、経験をよりよいものにするため、 Python仮想環境 を使用することをおすすめします。
Pythonのみをインストールした最小環境を作ります。
python3 -m venv /path/to/virtual/environment
新しい環境をアクティブにします。
source /path/to/virtual/environment/bin/activate
注: Windowsを使用している場合は、 PowerShellで以下のコマンドを使用します。
python3 -m venv c:\path\to\virtual\environment
c:\path\to\virtual\environment\Scripts\Activate.ps1
次に、 Qiskit パッケージをインストールします。
pip install qiskit
パッケージが正しくインストールされている場合は、 pip list
を実行して、仮想環境でアクティブなパッケージを確認できます。
可視化機能やJupyter notebookを使用する場合は、Qiskitに visualization
機能を追加してインストールすることをお勧めします。
pip install qiskit[visualization]
zshユーザー(新しいバージョンのmacOSのデフォルトシェル)の場合は、 qiskit[visualization]
を引用符で囲む必要があります。
pip install 'qiskit[visualization]'
以下のクラウドベンダーの環境では、Qiskitがプレインストールされています。
IBM Quantum Lab
Build quantum applications and experiments with Qiskit in a cloud programming environment.

Strangeworks
A platform that enables users and organizations to easily apply quantum computing to their most pressing problems and research.

ソースからエレメントをインストールすることにより、Python Package Index (PyPI) リポジトリのバージョンを使う代わりに、最新のQiskitバージョンにアクセスすることが出来ます。これにより、Qiskit コードの最新版を調査したり、拡張することがより効果的にできるようになります。
ソースからエレメントやコンポーネントをインストールする時には、デフォルトでは、安定
バージョン( pip``パッケージとして公開されているコードベースと同じもの) ではなく、 ``開発
バージョン( master
git ブランチに該当) が使われます。 エレメントやコンポーネントの 開発
バージョンは通常新しい機能や変更が含まれているため、一般的には他の項目についても 開発
バージョンを利用することが求められています。
pip
のバージョンがソースバージョンより古い場合に、要求するものよりも古いバージョンをインストールしてしまうことを防ぐため、ソースからエレメントをインストールするには以下の順番で実施します:
いくつかのコンポーネントとエレメントで同時に作業したい場合には、各エレメントに対して以下のステップを踏みます。
注釈
Terraと Aerのパッケージはソースからビルドするためにコンパイラーが必要なため、インストール前に準備します。Ignis、Aqua、IBM Quantum Provider バックエンドにはコンパイラーは必要ありません。
注釈
Pythonの名前空間パッケージを使用しているため、パッケージのインストール方法には注意する必要がります。もしソースからエレメントをインストールすることを考えている場合は、qiskit
メタパッケージを使用しないでください。また、このガイドに従って、開発用に別の仮想環境を使用してください。もし、既存のインストールと開発環境を混在させる場合は、https://github.com/pypa/sample-namespace-packages/blob/master/table.md を参照して、連携するインストール方法の組み合わせを確認してください。
Set up the Virtual Development Environment
python3 -m venv QiskitDevenv
source QiskitDevenv/bin/activate
Installing Terra from Source
ソースからインストールするには、システムにRustコンパイラがインストールされている必要があります。Rustコンパイラをインストールするには、クロスプラットフォームのRustインストーラである rustup を使用することをお勧めします。rustup を使用するには、次のURLにアクセスできます。
これは、プラットフォームに rust をインストールする方法の説明を提供します。rustup の他に、 他のインストール方法 も利用できます。
Rust コンパイラがインストールされると、Qiskit Terra をインストールする準備が整います。
Terraレポジトリをクローンします。
git clone https://github.com/Qiskit/qiskit-terra.git
レポジトリをクローンすると、``qiskit-terra``という名前のローカル・フォルダが作成されます。
cd qiskit-terra
もし、テストを実行したり文法をチェックしたい場合は、開発者向けライブラリーをインストールします。
pip install -r requirements-dev.txt
qiskit-terra
をインストールします。pip install .
編集可能モード(プロジェクトのコードを変更しても再インストールする必要なし) でインストールする場合は、次の手順を実行します:
pip install -e .
編集可能モードでインストールすると、コンパイルされた拡張機能が最適化なしでデバッグモードでビルドされます。これは、コンパイルされたコードの実行時のパフォーマンスに影響します。編集可能モードを使用し、最適化を有効にしてリリースでコンパイルされたコードをビルドする場合は、次を実行できます。
python setup.py build_rust --release --inplace
pip を実行すると、バイナリーがリリース モードで再構築されます。Qiskit で Rust コードを使用している場合は、ローカルで変更を加えるたびに拡張コードを再構築する必要があります。 pip install -e .
は、呼び出されたときにのみRust拡張機能をビルドするため、拡張機能を再構築しない限り、pip の実行後に Rust コードに加えたローカル変更はインストールされたパッケージに反映されません。上記の build_rust
コマンドを利用してこれを行うことができます( --release
の有無にかかわらず、デバッグモードとリリースモードのどちらでビルドするかに基づきます)。
Terraのインストール後、サンプル・コードを実行することができます。サンプルを実行するには以下のコマンドを使用します:
python examples/python/using_qiskit_terra_level_0.py
Installing Aer from Source
Aerリポジトリをクローンします。
git clone https://github.com/Qiskit/qiskit-aer
Aerをインストールする手順は、使用しているオペレーティングシステムによって異なります。 AerはPythonインターフェイスを備えたコンパイル済みのC++プログラムであるため、Aer バイナリを構築するための Python 以外の依存関係があり、オペレーティング システムによっては一般的にインストールすることはできません。
Linux
ビルドの必要要件をインストールします。
AerをビルドするにはC++コンパイラと開発ヘッダーが必要です。
Fedoraもしくは同等のLinux ディストリビューションを使っている場合は、次のコマンドでインストールできます:
dnf install @development-tools
Ubuntu/Debianを使っている場合は以下の通りです:
apt-get install build-essential
OpenBLASの開発ヘッダーをインストールします。
Fedoraもしくは同等のLinux ディストリビューションを使っている場合は、次のコマンドでインストールできます:
dnf install openblas-devel
Ubuntu/Debianを使っている場合は以下の通りです:
apt-get install libopenblas-dev
macOS
依存関係をインストールします。
macOSで Clang <https://clang.llvm.org/> コンパイラを使用するには、 OpenMP <https://www.openmp.org/> をサポートするための追加のライブラリをインストールする必要があります。 brew <https://brew.sh/> __を使用して、この依存関係およびその他の依存関係をインストールできます。
brew install libomp
次にBLAS実装をインストールします。OpenBLAS が一般的な選択です。
brew install openblas
次に、
Xcode Command Line Tools
をインストールします。xcode-select --install
Windows
すべての依存関係は、上にインストールした Visual C++ コンパイラーの一部として追加されるため、追加のセットアップは必要ありません。
Qiskit Aerは、量子回路のための高性能なシミュレータフレームワークです。様々なシミュレーションの目的を達成するために、いくつかの バックエンド を提供しています。
qiskit-aerを直接ビルドしインストールします。
pip 19.0.0 より前がインストールされていて、カスタム・ビルドが不要な環境の場合は、次を実行します:
cd qiskit-aer pip install .
これにより、バイナリーのビルドとAerのインストールが行われます。
別な手法として、より新しいpipがインストールされている場合、もしくはカスタム要件がある環境の場合、手動でPython wheelをビルドすることができます。
cd qiskit-aer python ./setup.py bdist_wheel
Wheelのビルドにカスタム・オプションを指定する必要がある場合は、 Custom options を参照してください。
Python wheelは、ビルド後Aerレポジトリの
dist/
ディレクトリに保存されます。正確なバージョンは場合に依ります。cd dist pip install qiskit_aer-*.whl
作成されたwheelの正確なファイル名は、開発中であるAerの現在のバージョンに依存します。
Custom options
Aerビルドシステムは、 scikit-build <https://scikit-build.readthedocs.io/en/latest/index.html> __ を使用して、Pythonインターフェイスでビルドするときにコンパイルを実行します。 これは、 setuptools <https://setuptools.readthedocs.io/en/latest/> __ のインターフェースとして機能し、 CMake <https://cmake.org/> __ を呼び出して、ローカルシステムのバイナリをコンパイルします。
バイナリのコンパイルは複雑なため、ビルド・プロセスの特定の部分にオプションを渡す必要があるかもしれません。 変数を渡す方法は次のとおりです:
python setup.py bdist_wheel [skbuild_opts] [-- [cmake_opts] [-- build_tool_opts]]
ここで、角括弧`[]`内の要素はオプションで、skbuild_opts``と ``cmake_opts
、 build_tool_opts
はあなたの選択したフラグに置き換えます。*CMake*のオプションはこちら(https://cmake.org/cmake/help/v3.6/manual/cmake.1.html#options)にあります。例えば、以下のようなコマンドを実行できます:
python setup.py bdist_wheel -- -- -j8
これは基礎となるビルド・システム(この場合 Automake ) に -j8 フラグを渡して、8プロセッサを使って並列にビルドしたいことを伝えています。
例えば、Linuxでのこれらのフラグの一般的な使用例は、使用するC++コンパイラのバージョン(通常デフォルトが古すぎる) を特定のものに指定することがあげられます:
python setup.py bdist_wheel -- -DCMAKE_CXX_COMPILER=g++-7
ここでは、Aerをコンパイルするとき、デフォルトのg++ではなくg++-7コマンドを使うようCMakeに伝えています。
他の一般的な使用例は、環境によって、プラットフォーム名を指定したり、静的リンクを無効にしたりする必要がある場合が考えられます。
python setup.py bdist_wheel --plat-name macosx-10.9-x86_64 \
-- -DSTATIC_LINKING=False -- -j8
ここで、--plat-name
はsetuptoolsのフラグでパッケージのメタデータ内で使用されるプラットフォーム名を指定します。-DSTATIC_LINKING
はCMakeのフラグで静的リンクを無効にするために使用されます。-j8
はAutomakeのフラグで、コンパイラに8プロセッサを使用するよう伝えます。
プラットフォームに依存する共通オプションのリストは以下の通りです。
プラットフォーム |
ツール |
オプション |
ユースケース |
---|---|---|---|
すべて |
Automake |
-j |
後ろに数字が続くこのオプションは、コンパイラが使用するプロセッサの数を指定します。 |
Linux |
CMake |
-DCMAKE_CXX_COMPILER |
特定のC++コンパイラーを指定するときに使用します。デフォルトのg++が古すぎる場合は、しばしば必要になります。 |
OSX |
セットアップツール |
–plat-name |
出力Pythonパッケージ内のプラットフォーム名を指定する時に使用します。 |
OSX |
CMake |
-DSTATIC_LINKING |
静的リンクを使用するか否かを指定する時に使用します。 |
注釈
これらのオプションの中にはプラットフォーム固有ではないものがあります。これらの特定のプラットフォームは、環境で一般的に使用されるためリストされています。 詳しくはツールの資料を参照してください。
プラットフォーム・サポート¶
Qiskit は可能な限り多くのプラットフォームをサポートするよう努めていますが、利用可能なテストリソースとプラットフォームの可用性に制限があるため、すべてのプラットフォームをサポートできるわけではありません。Qiskit のプラットフォーム・サポートは3つの層に分かれており、各層のサポートレベルは異なります。これら以外のプラットフォームの場合、Qiskit はおそらくまだインストール可能ですが、テストされていないため、ソースから Qiskit(およびおそらく Qiskit の依存関係)を構築する必要があります。
さらに、 Qiskit は CPython のみをサポートします。他の Python インタプリタとの実行は現在サポートされていません。
ティア 1¶
ティア1がサポートするプラットフォームは、開発プロセスの一環としてアップストリームで完全にテストされ、提案された変更が正しく機能することを確認します。コンパイル済みのバイナリは、リリースプロセスの一部としてビルド、テスト、および PyPI に公開されます。これらのプラットフォームではすべての依存関係が利用可能であるため、これらのプラットフォームは、機能している Python環境だけでインストール可能であることが期待されます。
ティア1プラットフォームの現在:
Linux x86_64( manylinux 2014 パッケージ仕様と互換性のあるディストリビューション)。
macOS x86_64 (10.9 以降 )
Windows 64ビット
ティア2¶
ティア2プラットフォームは、開発プロセスの一部としてアップストリームでテストされていません。ただし、プリコンパイルされたバイナリは、リリースプロセスの一部としてビルド、テスト、および PyPI に公開され、これらのパッケージは、機能している Python環境のみでインストールされることが期待できます。
ティア2プラットフォームの現在:
Python < 3.10 向けの Linux i686( manylinux 2014 パッケージ仕様と互換性のあるディストリビューション)。
Python < 3.10 向けの Windows 32ビット
Linux aarch64( manylinux 2014 パッケージ仕様と互換性のあるディストリビューション)
ティア3¶
ティア3プラットフォームは、開発プロセスの一部としてアップストリームでテストされていません。コンパイル済みのバイナリは、リリースプロセスの一部としてビルドされ、PyPI に公開されます。テストはまったく行われません。Python環境が機能しているだけではインストールできない場合があり、インストールプロセスの一部としてソースから依存関係を構築するためにC / C ++コンパイラまたは追加のプログラムが必要になる場合があります。これらのプラットフォームのサポートは最善の努力のみです。
ティア3プラットフォームの現在:
Linux ppc64le ( manylinux 2014 パッケージ仕様と互換性のあるディストリビューション)
Linux s390x ( manylinux 2014 パッケージ仕様と互換性のあるディストリビューション)
macOS arm64 (10.15 以降)
Python >= 3.10 向けの Linux i686( manylinux 2014 パッケージ仕様と互換性のあるディストリビューション)
Python >= 3.10 向けの Windows 32ビット版
準備はいいですか?…¶
Qiskit from the ground up
Learn how to build, execute, and post-process quantum circuits with Qiskit.
Start learning QiskitDive into the tutorials
Find out how to leverage Qiskit for everything from single-circuits to full quantum application development.
Qiskit tutorials