Qiskit環境構築 [uv版] (3) vscodeからのPython仮想環境接続 <Windows11, WSL2, openSuSE,  pyenv, uv>

# 概要
　・Windows11/WSL2でのQiskit環境構築手順は需要があるかもしれないで記載します。
　・以前、pyenv,pipx,poetry環境構築手順を記載しましたが、
  　uvの方が構築手順が少なく、圧倒的に速いので記載します。
 
# 本ドキュメントの範囲
　　(1) windows11へのWSL2の導入
　　(2) uvの導入、Python仮想環境の作成
　★(3) vscode導入/Python仮想環境へのアクセス
　　(4) シミュレータでの量子回路実行(qiskit primitives)
　　(5) IBM Quantum量子コンピュータ実機での量子回路実行 
  
# (1) Python仮想環境へのipykernel導入
モジュールは極力uv管理で導入したいのであらかじめ実施します。
※すでに導入済みとは思いますが、念のため記載。
```bash:[uv版]ipykernelモジュール導入
# linuxから実行します。
# Python仮想環境へディレクトリ移動
cd ~/work/vmPy/vqis
pwd
# 導入
uv add ipykernel --dev ; echo $?
# 確認
uv pip list | grep ipykernel
```
サンプル画像ではipykernel導入済み。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760084/ab48bf95-70c5-43c1-a6ce-75e635beef86.png)

# (2) windowsへのvscode導入
windowsのPowershellから実行。
インストーラーから実行してもよい。
```powershell:[powershell] vscode導入
# 導入前確認
winget list --id Microsoft.VisualStudioCode
winget search "visual studio code"
# 導入
winget install Microsoft.VisualStudioCode
# 確認
winget list --id Microsoft.VisualStudioCode
```
![vscode003.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760084/44cc460f-ac3f-0b1b-3d0f-379822960365.png)

vscode導入中、「セットアップ」別ウィンドウが起動される。
![vscode002.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760084/339c3fdd-c5a0-d822-166a-7d1a5d68b300.png)

```powershell:[powershell] [参考] vscode削除
# 削除
winget uninstall Microsoft.VisualStudioCode
# (要注意！) 下記はユーザ用のプロファイル全削除手順
# その他の用途でvscodeを使っていた場合はすべて削除される。
Remove-Item ("$env:USERPROFILE\.vscode") -Recurse -Force 
Remove-Item ("$env:APPDATA\Code") -Recurse -Force 
```
(3) vscodeからのPython仮想環境接続
windowsでvscodeを起動
![vscode004.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760084/04aeb376-35b3-23da-b881-bec86e0d8899.png)
![vscode005.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760084/833a0808-77ac-13ac-0b7b-a1fca6810bf7.png)

[Remote Development extension導入]
vscodeでリモート接続用extensionを導入
左ペインのextensionsボタンをクリック
![z001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760084/4097c98e-3e81-ccc3-94f1-b6049c5c6012.png)

extensionsの検索ウィンドウでremoteを検索
"Remote Development / Microsoft"をインストール。
自動的にWSL、pythonやjupyter用の依存extensionsも導入される。
![vscode008.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760084/65378f01-ebb4-15fe-8de0-1623b2cfd170.png)

[WSL接続]
左ペインの"Remote Explorer"をクリック
"WSL TARGETS"の"->"をクリック
![z002.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760084/63d60713-c4cd-d47e-7e3c-0668707ae33c.png)

WSLに接続された。
画面左下に"WSL:接続ディストリビューション名"が表示されている。
![z003.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760084/752daab9-b002-7ba0-add0-40e9158cabad.png)

[Python仮想環境のディレクトリを開く]
左ペイン"Explorer"をクリック
"Connection to remote"の"Open Folder"をクリック
上部コマンドウィンドウでPython仮想化環境のディレクトリを指定して"OK"
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760084/ae063fa0-9d76-401e-b2d1-8eefb8cde702.png)


"Do you trust the authors of the files in this folder?"が表示されたら、
接続先に問題がないことを確認し、"Yes, I truste the authors"をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760084/83b0cb53-f5aa-4800-aea4-b83c805161d1.png)

vqisディレクトリをクリック後、"New file"をクリック。
ファイル名を"適当な名前.ipynb"で作成する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760084/59fbe294-6e7b-4e46-b4a5-0dd98bfc1417.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760084/7097d8fe-a0d8-40b4-b1aa-bc2ad27b7755.png)

"適当な名前.ipynb"をクリックして選択
"+ Code"ボタンをクリックして、jupyter notebookのコードブロックを追加
下記のコードを入力したら、Ctrl-vキーやメニューからファイルを保存。
その後、"Select kernel"をクリック。
```python:テスト用コード
import qiskit
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760084/3f3f5259-efb5-4995-b57e-331c281be6b5.png)

プロンプトから"Python Environments..."を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760084/f66127f7-b999-4a7b-91ac-599d8c4452ff.png)

"Install Python : Upon installing Python please reload VS Code."が表示されたら
vscodeのウィンドウを一回閉じて終了した後、vscodeを再度起動する。
※まだ未導入であれば、自動的にvscodeのpython関連拡張機能が導入される。
この場合、画面の右下の通知領域に導入中であるメッセージが出力されるので終わるまで待ってから再起動する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760084/b6779ffb-6039-4769-9fd6-25604346adaa.png)

"Select Kernel"クリック後、プロンプトから"Python Environments..."を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760084/99c2ffb5-64c5-475a-8f50-ef1775479fbe.png)

uvで作成したPython仮想環境を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760084/4214b892-d718-4bba-9159-ea077260b295.png)

コード実行
"Run All"はまたはコードブロックの三角ボタンをクリックしてコード実行
正常に実行された。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760084/2b85ab0e-5fc0-415e-bb62-f4ba1549eed5.png)

## 続きます。
Qiskit環境構築
【uv版】
[(1) Linuxの導入/設定](https://qiita.com/reconcat/items/f30839f3c09600e2a6b2)
[(2) uvの導入/Python仮想環境の作成 ](https://qiita.com/reconcat/items/37a4273547ddd0f6006a)
[(3) vscodeからのPython仮想環境接続](https://qiita.com/reconcat/items/79e1ec4ca9989a08dcd0)

【poetry版】
[(1) Linuxの導入/設定](https://qiita.com/reconcat/items/78ca5bf02fda616d6561)
[(2) Python仮想環境の作成](https://qiita.com/reconcat/items/76507b2743a9f3c40d43)
[(3) vscodeからのPython仮想環境接続](https://qiita.com/reconcat/items/ad4cb6f7c9c273f0ae3f)

【uv/poetry共通】
[(4) シミュレータでの量子回路実行](https://qiita.com/reconcat/items/360d93adddc99a98a3c3)
[(5) IBMQ実機での量子回路実行](https://qiita.com/reconcat/items/4c50c67342d226cb5d7f)
[(6) メンテナンス](https://qiita.com/reconcat/items/50fde8ebf740995f9d7c)