概要
・Windows11/WSL2でのQiskit環境構築手順は需要があるかもしれないで記載します。
・以前、pyenv,pipx,poetry環境構築手順を記載しましたが、uvの方が構築手順が少なく、圧倒的に速いのでこちらも記載します。
環境
・手順では< Windows11, WSL2, openSuSE LEAP, uv >を
組み合わせた環境を構築します。
本ドキュメントの範囲
uv版では(2)だけ新規。(3)が数コマンドだけ違う。
★(1) windows11へのWSL2の導入
(2) uvの導入、Python仮想環境の作成
(3) vscode導入/Python仮想環境へのアクセス
(4) シミュレータでの量子回路実行(qiskit primitives)
(5) IBM Quantum量子コンピュータ実機での量子回路実行
WSL2の導入
★windowsのGUI操作を実施します。
※ubintuを導入する場合は、windows11のpowershell/コマンドプロンプトから
'wsl.exe --install"すればwsl2およびubuntu linuxまで自動で導入されるため、この手順は不要です。
本手順ではubuntuの導入を避けるため、windowsのコントロールパネルからWSL2を導入します。
[windows11から下記を実施]
スタートメニューにcont入力
-> コントロールパネル
-> プログラムと機能
「windowsの機能」画面で有効化選択
->下記にチェック入れてOK (OK実施後、)再起動要求があります。)
■ Hyper-V
■ Linux用 Windows サブシステム
■ Virtual Machine Platform
wsl2のアップデート
★Powershellまたはコマンドプロンプトから実行します。
Powershellまたはコマンドプロンプトを<管理者権限>で開きます。
下記コマンドを実行
wsl --update
wsl --version
openSuSE LEAPの導入
★Powershellまたはコマンドプロンプトから実行します。
WSL2でインストール可能なディストリビューションの一覧を出力
wsl --list --online
openSuSE LEAP 15.6を導入します。
wsl --install -d openSUSE-Leap-15.6
導入の途中でncursesを使ったYaST2メニューのパネルが開きます。
YaST2では、tabキーを押しながら選択か所を切り替えつつ、エンターキーで実行します。
画像の例では、[Next]が選択されていて、この状態でエンターキーを押すことで実行となります。
Licence Agreementパネルで Next 選択してエンター
Local Userパネルでは、tabとキーボードを駆使して、ユーザ名、パスワードを登録します。
"[x] Use this password for system administrator"はxのまま選択でOK
" [ ] Automatic Login"は[ ]選択無しのままで大丈夫です。
登録後に Next 選択してエンター
"The password is too simple:"などcracklibの警告が出力された場合、tabで"Yes"選んでOK
※皆様はきちんとしたパスワードを設定してください。
導入が進むのでしばらく待ち。
レポジトリのアップデート等が実施されています。
"Configuration Completed"パネルが出力されたら導入が完了しています。
Finishを選択して実行してください。
YaST2パネルが終了して、コンソールの画面に戻ります。
この段階ですでにコンソール上ではWSL2のlinuxにログオンしているので注意してください。
linuxのuname -aコマンドを実行すると"microsoft-standard-WSL2"版のlinuxであることがわかります。
exitでいったんコンソールを閉じます。
uname -a
exit
openSuSE導入後確認
★Powershellまたはコマンドプロンプトから実行します。
wsl -l -vコマンドでwsl2に導入されたディストリビューションの稼働状態を確認します。
wsl -l -v
サンプルではopenSUSE-Leap-15.6が稼働中であることがわかります。g)
先頭の* : デフォルトのディストリビューション
openSUSE-Leap-15.6 : 環境名。export/import操作により変更可能。
Runnung : 稼働中
VERSION 2 : wslバージョン2
# 導入をやり直したい場合にディストリビューションを削除するコマンド例
wsl -l -v
wsl --unregister openSUSE-Leap-15.6
wsl -l -v
openSuSEへのログイン
windowsのスタートメニューのプログラムに"openSUSE Leap 15.6"が追加されているので起動します。
※プログラムの実体はwindowsの"コンソール"プログラムですが、
起動後にWSL2内で稼働する"openSUSE-Leap-15.6"にログインしています。
「hostname,$PS1のカスタマイズやexport/import、ディストリビューション名変更」等のカスタマイズは別のエントリで記載予定。
openSuSEのアップデート
★linuxコンソールから下記コマンドを一通り実行
※openSuSEのレポジトリからの反応が遅い場合やパッケージの整合性がとれていないタイミングでは
無理せず別のタイミングで実施してください。
# sudoのパスワードを聞かれた場合は、YaST2で設定したパスワードを入力
sudo zypper refresh
# 更新があった場合は "y" を入力してエンター
sudo zypper dup
"sudo zypper dup"の結果、
"They should be restarted to benefit from the latest updates."が出力されていたら
opensuse leapを再起動します。
openSuSEの再起動
★前提作業としてopenSuSEのすべてのターミナルからexitしてください。vscode等起動していれば停止してください。
★openSuSEの再起動はwindowsのpowershellまたはコマンドプロンプトから実行します。
wsl -tオプションでディストリビューションを停止します。
実行後、STATE が "Stopped"になって停止したこと確認します。
wsl -l -v
wsl -t openSUSE-Leap-15.6
wsl -l -v
停止状態のディストリビューションを起動するには、windowsのスタートメニューのプログラムに"openSUSE Leap 15.6"を起動してログインすれば完了します。
openSuSEのパッケージ導入
基本的なパッケージを導入します。
git (githubへのpush/clonen)
bash-completion,python311-argcomplete (コマンド自動補完等)
何か聞かれたら、メッセージをちゃんと読んだうえでyを返答します。
# パッケージ導入後、前出の手順でopenSuSEの再起動を実施てください。
sudo zypper install -t pattern wsl_base
sudo zypper install -t pattern wsl_gui
sudo zypper install -t pattern wsl_systemd
sudo zypper install -t pattern kde
sudo zypper install git bash-completion python311-argcomplete python311 MozillaFirefox neofetch screenfetch tree
Qiskit環境構築
【uv版】
(1) Linuxの導入/設定
(2) uvの導入/Python仮想環境の作成
【poetry版】
(1) Linuxの導入/設定
(2) Python仮想環境の作成
【uv/poetry共通】
(3) vscodeからのPython仮想環境接続
(4) シミュレータでの量子回路実行
(5) IBMQ実機での量子回路実行
(6) メンテナンス