概要
・Windows11/WSL2でのQiskit環境構築手順は需要がありそうなので記載します。
・IBM Community Japanの2024年ナレッジモール研究に参加した際に使用したQiskit環境の構築手順となります。
IBM Community Japan / ナレッジモール研究
・Qiitaの書き方がまだわかっておらず練習を兼ねているため、今後も修正をしていきます。
本ドキュメントの範囲
vscodeの導入 -> Python仮想環境への接続
qiskit/vscodeによる量子回路の作成/実行は別ドキュメントで作成予定です。
vscodeの導入
(1) Python仮想環境へのipykernel導入
(2) windowsへのvscode導入
(3) vscodeからのPython仮想環境接続
(1) Python仮想環境へのipykernel導入
vscodeから接続する前に、Python仮想環境へipykernelモジュールを導入します。
ipykernelモジュールはjupyter notebookを経由してpythonコードを実行するために使用します。
vscodeから接続した際にも自動的に導入されますが、
モジュールは極力poetry管理で導入したいのであらかじめ実施します。
# linuxから実行します。
# Python仮想環境へディレクトリ移動
cd ~/work/vmPy/vqis
pwd
# 導入
uv add ipykernel ; echo $?
# 確認
uv pip list | grep ipykernel
# linuxから実行します。
# Python仮想環境へディレクトリ移動
cd ~/work/vmPy/vqis
pwd
# 導入
poetry add ipykernel ; echo $?
# 確認
poetry show | grep ipykernel ; echo $?
(2) windowsへのvscode導入
windowsのPowershellから実行。
インストーラーから実行してもよい。
# 導入前確認
winget list --id Microsoft.VisualStudioCode
winget search "visual studio code"
# 導入
winget install Microsoft.VisualStudioCode
# 確認
winget list --id Microsoft.VisualStudioCode
vscode導入中、「セットアップ」別ウィンドウが起動される。
# 削除
winget uninstall Microsoft.VisualStudioCode
# ユーザ用ディレクトリ削除
Remove-Item ("$env:USERPROFILE\.vscode") -Recurse -Force
Remove-Item ("$env:APPDATA\Code") -Recurse -Force
(3) vscodeからのPython仮想環境接続
windowsでvscodeを起動
[Remote Development extension導入]
vscodeでリモート接続用extensionを導入
左ペインのextensionsボタンをクリック
extensionsの検索ウィンドウでremoteを検索
"Remote Development / Microsoft"をインストール。
自動的にWSL、pythonやjupyter用の依存extensionsも導入される。
[WSL接続]
左ペインの"Remote Explorer"をクリック
"WSL TARGETS"の"->"をクリック
WSLに接続された。
画面左下に"WSL:接続ディストリビューション名"が表示されている。
[Python仮想環境のディレクトリを開く]
左ペイン"Explorer"をクリック
"Connection to remote"の"Open Folder"をクリック
上部コマンドウィンドウでPython仮想化環境のディレクトリを指定して"OK"
"Do you trust the authors of the files in this folder?"が表示されたら、
接続先に問題がないことを確認し、"Yes, I truste the authors"をクリック
vqisディレクトリをクリック後、"New file"をクリック。
ファイル名を"適当な名前.ipynb"で作成する。
※"src"ディレクトリを作成し、"init".pyを配置したうえで
コードを作成するのが最近のやり方。ツールを使った構文チェック等でメリットが出る。
"適当な名前.ipynb"をクリックして選択
"+ Code"ボタンをクリックして、jupyter notebookのコードブロックを追加
下記のコードを入力したら、Ctrl-vキーやメニューからファイルを保存。
その後、"Select kernel"をクリック。
import qiskit
[Python仮想環境のPython kernel指定]
実際にはvscodeがどのようにしてpython kernelを探しているのかあまりよくわかってないため
いったんvscodeを停止したりなどの操作を入れています。
上部コマンドウィンドウ"Select kernel"で"Python Environment"を選択
上部コマンドウィンドウ"Select a Python Environment"で"Install Python"を選択
"Install Python"に対する警告が出るので"Cancel"をクリック
よくわかりませんが、ここまで手順を進めておいてからvscodeを再起動すると
vscodeがPython仮想環境のPythonカーネルを見つけることができるようになります。
vscodeウィンドウ右上の×をクリックしてアプリをいったん終了する。
下記のウィンドウが出たら"Save"をクリック。
再度、vscodeを開いたら前述の手順で再度WSLのPython仮想ディレクトリにアクセス
"適当な名前.ipynb"を開き、"Select kernel"をクリックすると
Python仮想環境で使用するPythonを指定できる。
★付きで推奨、かつ、Python仮想ディレクトリ内の.venevのkernelを選択することで
仮想環境のPythonを使用してコードを実行できるようになる。
コード実行
この時点でQiskit環境が構築できているのであとは好きにコードを作って実行できるようになりました。
Pythonカーネルの指定はファイルごとに必要になります。
続きます。
Qiskit環境構築
【uv版】
(1) Linuxの導入/設定
(2) uvの導入/Python仮想環境の作成
【poetry版】
(1) Linuxの導入/設定
(2) Python仮想環境の作成
【uv/poetry共通】
(3) vscodeからのPython仮想環境接続
(4) シミュレータでの量子回路実行
(5) IBMQ実機での量子回路実行
(6) メンテナンス