0
0

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環境構築 [poetry版] (2) Python仮想環境の作成 <Windows11, WSL2, openSuSE, pyenv, pipx, poetry>

Last updated at Posted at 2025-01-16

概要

 ・Windows11/WSL2でのQiskit環境構築手順は需要がありそうなので記載します。
 ・IBM Community Japanの2024年ナレッジモール研究に参加した際に使用したQiskit環境の構築手順となります。
  IBM Community Japan / ナレッジモール研究
 ・Qiitaの書き方がまだわかっておらず練習を兼ねているため、今後も修正をしていきます。

本ドキュメントの範囲

poetryによるPython仮想環境の作成
qiskit/vscodeによる量子回路の作成/実行は別ドキュメントで作成予定です。

python仮想環境の構築

これよりQiskit用のPython仮想環境を構築します。
 (1) poetryによる仮想環境(project)の作成
 (2) pyenvによるPythonバージョン設定
 (3) projectのtoml管理
 (4) Qiskitパッケージ導入

# Python仮想環境はどこに作ってもよいのですが、ここでは下記ディレクトリに導入します。
# vmPyの下に各プロジェクトディレクトリを作り、vqisがQiskit用Python仮想環境とします。
   ~/work/vmPy/vqis

(1) poetryによる仮想環境(project)の作成

ディレクトリ準備

ディレクトリ準備
# work用ディレクトリ作成
ls -ld ~/work/vmPy
mkdir -p ~/work/vmPy ; echo $?
ls -ld ~/work/vmPy
cd ~/work/vmPy
pwd
ls -a

opensuse_022.png

poetry仮想環境作成

poetry仮想環境作成
# ディレクトリ事前確認
cd ~/work/vmPy
ls -ld vqis

# project名=vqisのPython仮想環境を作成
poetry new vqis ; echo $?

# ディレクトリ確認
ls -ld vqis

opensuse_023.png

[参考] srcレイアウト
# [参考] srcレイアウトでPython仮想環境を作成
# --srcオプションでimportパッケージがsrcディレクトリに配置される。
# poetry new --src vqis ; echo $?
[nyanco@suseTW]:~/work/vmPy/vqis
> tree
.
├── README.md
├── pyproject.toml
├── src
│   └── vqis
│       └── __init__.py
└── tests
    └── __init__.py
4 directories, 4 files 

(2) pyenvによるPythonバージョン設定

poetry仮想環境用ディレクトリに入って作業します。

# projectディレクトリに移動
cd ~/work/vmPy/vqis
pwd

# Pythonバージョン事前確認
pyenv versions
python -V
python3 -V

# pyenvによるPythonバージョン切り替え
pyenv local 3.12.8 ; echo $?
ls -a
cat .python-version

# pyenvによるPythonバージョン事後確認
# ~/work/vmPy/vqisディレクトリの下ではpython3.12.8が使用されるようになる。
pyenv versions
python -V
python3 -V

# poetryによるPythonバージョン切り替え
poetry env info
poetry env use 3.12.8 ; echo $?
poetry env info

opensuse_024.png
opensuse_025.png
opensuse_026.png

(3) projectのtoml管理

・プロジェクトディレクトリの直下に保管されれているファイル"pyproject.toml"で
 プロジェクトのパラメータを設定します。
・主な使い道としては、Pythonのバージョンやパッケージのバージョン指定、
 mypyやcattrs、noxなどの開発ツールのパラメータを設定するなどがあります。

・2025年1月現在、依存パッケージsymengineの導入に失敗するため、
 下記の通りrequires-pythonのバージョン指定を変更します。
  変更前:requires-python = ">=3.11"  (3.11以上のPythonを指定)
  変更後:requires-python = "^3.12.8" (3.12.8以上、かつ3.13.0未満のPythonを指定)
   ※バージョンの上限を設定すると依存関係の解消ができなくなることが多いので、
   自分の場合は問題が出ない限り、上限を設定しません。
・"pyproject.toml"をpoetry管理下ではなく、手動で編集した後は、
 poetry updateコマンドを実行します。

toml編集
# poetryにより作成されたtomlを編集する。
ls -l
# tomlバックアップ
cp -p pyproject.toml pyproject.toml_orig ; echo $?
ls -l
# 編集
vi pyproject.toml
poetry update
# 参照
cat pyproject.toml

suse006.png
suse007.png

poetry v2.0.0が作成したpyproject.toml(編集前)
[project]
name = "vqis"
version = "0.1.0"
description = ""
authors = [
    {name = "Your Name",email = "you@example.com"}
]
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
]

[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"
編集後のpyproject.toml
[project]
name = "vqis"
version = "0.1.0"
description = ""
authors = [
    {name = "Your Name",email = "you@example.com"}
]
readme = "README.md"
#requires-python = ">=3.11"
requires-python = "^3.12.8"
dependencies = [
]

[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"

(4) Qiskitパッケージ導入

Python仮想環境Qiskitのパッケージを導入します。

qiskit関連パッケージ導入
# Python仮想環境ディレクトリに移動
cd ~/work/vmPy/vqis
pwd

# Qiskit関連パッケージ導入
poetry add qiskit qiskit[visualization] qiskit-ibm-runtime ; echo $?

# 2025/1/16現在、 qiskit-aer 0.60.0を導入できないため、
# バージョン指定を使って全バージョンを導入した。
# poetry add qiskit-aer@^0.15.1 ; echo $?

# qiskit-aer
poetry add qiskit-aer ; echo $?

# その他Qiskit関連パッケージ
poetry add qiskit-machine-learning ; echo $?
poetry add qiskit-algorithms ; echo $?

# 導入パッケージのリスト出力
poetry show

# toml確認(導入パッケージがtomlに登録される)
cat pyproject.toml

suse008.png
suse009.png
suse010.png

続きます。

Qiskit環境構築
【uv版】
(1) Linuxの導入/設定
(2) uvの導入/Python仮想環境の作成

【poetry版】
(1) Linuxの導入/設定
(2) Python仮想環境の作成

【uv/poetry共通】
(3) vscodeからのPython仮想環境接続
(4) シミュレータでの量子回路実行
(5) IBMQ実機での量子回路実行
(6) メンテナンス

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?