0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qiskit環境構築 [uv版] (2)uvの導入/Python仮想環境の作成 <Windows11, WSL2, openSuSE, uv>

Last updated at Posted at 2025-01-28

概要

 ・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量子コンピュータ実機での量子回路実行

python仮想環境の構築

 (2-1) uv導入
 (2-2) Python導入
 (2-3) Python仮想環境作成
 (2-4) Qiskitパッケージ導入
 (2-5) パッケージのupgrade
 (2-6) <参考>Python仮想環境のactivate/deactivate

(2-1) uv導入

uv参照

uv導入
# uv が ~/.local 以下に配置される。
curl -LsSf https://astral.sh/uv/install.sh | sh ; echo $?

# uvのアップデート
source ~/.bashrc
uv self update ; echo $?

# uvコマンド自動補完設定
echo 'eval "$(uv generate-shell-completion bash)"' >> ~/.bashrc
source ~/.bashrc

# 確認
uv --version

image.png

[参考] uv削除
# ~/.bashrcの下記のエントリ削除
eval "$(uv generate-shell-completion bash)"

uv cache clean

# ex. /home/nyanco/.local/share/uv/python
rm -r "$(uv python dir)" ; echo $?  

# ex. /home/nyanco/.local/share/uv/tools
rm -r "$(uv tool dir)"   ; echo $?  

rm -r ~/.local/bin/uv ~/.local/bin/uvx ; echo $? 

(2-2) Python導入

Python仮想環境で使用したいバージョンのPythonを導入

Python導入
#--- 確認
# 導入可能バージョン一覧
uv python list --all-platforms

# 導入済みバージョン一覧
uv python list --only-installed

# 好きなバージョンのPythonを導入
# Python 導入 (astralが用意したバイナリが導入される)
uv python install 3.12.9 ; echo $?
uv python install 3.13.2 ; echo $?
# 確認
uv python list --only-installed

image.png

(2-3) Python仮想環境作成

Python仮想環境作成場所は特に決まりはない。
例では下記のディレクトリに作成
  ~/work/vmPy/vqis
workは作業用。vmPyはPython仮想環境用。vqisはQiskit環境用。

Python仮想環境作成
#--- 作業用ディレクトリ作成
mkdir -p ~/work/vmPy ; echo $?
cd ~/work/vmPy
pwd

#---Pythonプロジェクトの作成(init)
# オプションを指定しない場合は、一番新しいpythonが使用される。
# pythonのバージョンを指定したい場合は下記のとおり
# uv init vqis -p 3.12.8 ; echo $?
uv init vqis ; echo $?
ls -ld vqis

#---Python仮想環境の作成
# プロジェクトのディレクトリへ移動
cd vqis

# 仮想環境の作成(sync)
# uv は最初にプロジェクトコマンド(run,sync,lock)を
# 実行した際にPython仮想環境(.venv)を作成する。
uv sync

# 確認
ls -la
cat .python-version
cat pyproject.toml

image.png
image.png

(2-4) Qiskitパッケージ導入

Qiskitパッケージ導入
# qiskit導入
uv add qiskit qiskit-aer qiskit[visualization] qiskit-ibm-runtime ; echo $?
uv add qiskit-machine-learning qiskit-algorithms ; echo $?

# ipykernel導入 (vscodeからの接続で使用)
uv add ipykernel ; echo $?

# toml確認
cat ~/work/vmPy/vqis/pyproject.toml

(2-5) パッケージのupgrade

Python仮想環境のパッケージを一括upgradeする。

  • パッケージの更新には2つのファイルが関わってきます。
プロジェクトのファイル一覧
[nyanco@suseLeap]:~/work/vmPy/vqis
> ls -l
total 148
-rw-r--r-- 1 nyanco users      0  3月 21 12:04 README.md
-rw-r--r-- 1 nyanco users     82  3月 21 12:04 main.py
-rw-r--r-- 1 nyanco users    342  3月 21 12:05 pyproject.toml
drwxr-xr-x 7 nyanco users   4096  4月  5 02:07 src
-rw-r--r-- 1 nyanco users 131844  3月 21 12:05 uv.lock

 - pyproject.toml
   仮想環境に必要なライブラリとそのバージョン制約を定義。
   制約の範囲内である程度自由があるので、pyproject.tomlを使えば他の環境でも柔軟に同様のライブラリを導入できる。
 - uv.lock
   仮想環境で実際にインストールすべきライブラリとそのバージョンを完全に決めうちした台帳
 uv.lockを使って他の環境でも全く同じライブラリを導入することができるが、
   柔軟性がないので異なるアーキテクチャ間では導入できないこともある。

  • パッケージの一括upgradeには主に下記の流れが考えられます。
     どっちでもいいのですが、ここでは-2- uv.lockでの管理手順を記載します。
     -1- uv sync --upgrade による直接upgrade後のuv.lock
       最初にライブラリを導入した後に、導入ライブラリ情報をもとにuv.lockを更新。
     -2- uv lock --upgrade によるuv.lock更新後のuv sync
       最初にuv.lockを更新した後に、uv.lockをもとにしてライブラリ導入。
パッケージの一括upgrade
# Python仮想環境のディレクトリに移動
cd ~/work/vmPy/vqis

#------ uv.lockの更新
#--- test実行
uv lock --dry-run --upgrade ; echo $?

#--- 更新
uv lock --upgrade ; echo $?

#------ uv.lockをもとにしたパッケージ導入
#--- test
uv sync --dry-run ; echo $?

#--- 実行
uv sync ; echo $?

image.png
image.png
image.png

(2-6)<参考>Python仮想環境のactivate/deactivate

vscodeからではなくコンソールからPython仮想環境を
利用する場合、activateしてからスクリプトを実行する。

Python仮想環境をアクティベート

仮想環境のactivate
# 仮想環境ディレクトリへ移動
cd ~/work/vmPy/vqis
pwd

# activate
# コマンドプロンプトが変化したことを確認
source .venv/bin/activate

# deactivate
deactivate

image.png

Qiskit環境構築

【uv版】
(1) Linuxの導入/設定
(2) uvの導入/Python仮想環境の作成
(3) vscodeからのPython仮想環境接続

【poetry版】
(1) Linuxの導入/設定
(2) Python仮想環境の作成
(3) vscodeからのPython仮想環境接続

【uv/poetry共通】
(4) シミュレータでの量子回路実行
(5) IBMQ実機での量子回路実行
(6) メンテナンス

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?