PythonとPygameで作る レトロ風RPG 全コード

同人誌について

 この連載は、同人誌『PythonとPygameで作る レトロ風RPG 全コード』を一部抜粋して編集したものです。

 同人誌本編には、ゲーム本体のソースコードや、各種のサンプルコード、Windowsで実行できるEXEファイルが付属しています。PDFで290ページの本になります。ぜひ、こちらもご購入ください。

(2024-03-28:ver1.0.4 に更新、2024-03-10:ver1.0.3 に更新)


2-3 venvの利用

公開:2024-02-23

venvとは

 『Python』で開発をおこなう際は、グローバル環境にさまざまなパッケージを導入していきます。しかし、パッケージをプロジェクト単位で別々に導入したいことも多いです。そうすれば、プロジェクトごとにライブラリのバージョンを固定できます。また、システム全体のことを気にせず、簡単に同じ開発環境を再現できます。

 こうしたことを可能にしてくれるのが仮想環境です。仮想環境では、プロジェクトごとに『Python』のバージョンを固定して、パッケージをインストールできます。『Python』で仮想環境を構築してくれるツールはいくつかあります。ここでは『Python』の標準ツールである『venv』を利用します。

venv --- 仮想環境の作成 — Python 3.X ドキュメント
https://docs.python.org/ja/3/library/venv.html

パッケージの一覧を表示

 まず、現在使用している環境で利用可能なパッケージの一覧を表示する方法を紹介します。ここではpipを使い、インストールされているパッケージの一覧を確認します。pipは『Python』のパッケージ管理システムです。listオプションを使うと、パッケージの一覧が表示されます。

pip list
Package Version
------- -------
pip 23.2.1

 グローバル環境の場合は、通常の方法でグローバルにインストールしたパッケージの一覧が表示されます。仮想環境の場合は、仮想環境にインストールしたパッケージの一覧が表示されます。現在の状態を確かめたいときに役立ちます。

仮想環境の作成

 仮想環境を作るときには、先にOSに『Python』をインストールしておく必要があります。特定のバージョンで仮想環境を作りたいときにも、そのバージョンの『Python』を、あらかじめOSにインストールしておく必要があります。

 それでは仮想環境を作りましょう。『venv』モジュールを利用して、仮想環境を作るコマンドを示します。CLI環境でプロジェクトのディレクトリを開き、次のコマンドを実行します。

python -m venv .venv

 このコマンドの意味は「pythonで、モジュールvenvを使い、.venvディレクトリに仮想環境を作成する」です。「.venv」以外の名前のディレクトリを作ってもよいですが、「.venv」という名前が一般的です。

 コマンドを実行すると、カレント ディレクトリに「.venv」ディレクトリが作成され、必要なファイルがコピーされます。このコマンドを実行すると、完了までに10秒~1分半ほど時間がかかります。今回インストールした『Python』のバージョンは 3.12.1 です。実行後に作成された「.venv」ディレクトリは、13.9MBでした。

Pythonのバージョン指定

 『Python』のバージョンを指定して仮想環境を作成する方法も示します。

 まず、OSに入っている『Python』のバージョンを調べます。Windwosならpy(py.exe)というコマンドを使います。

 次のいずれかのコマンドを実行すれば、OSに入っている『Python』のバージョンが分かります。

py -0
-V:3.12 * Python 3.12 (64-bit)
-V:3.10 Python 3.10 (64-bit)
py --list
-V:3.12 * Python 3.12 (64-bit)
-V:3.10 Python 3.10 (64-bit)

 コマンドを実行すると-V:3.XX *のように出力されます。XXのところにはバージョンが入ります。複数あるときは複数表示されます。*印が現在のデフォルトのバージョンです。

 次のコマンドで、Pythonのバージョンを指定して仮想環境の作成ができます。

py -3.12 -m venv .venv312

 -3.12が指定するバージョンです。.venv312が作成する仮想環境のディレクトリ名です。同じディレクトリ階層に、仮想環境のディレクトリ名を変えて複数作ることもできます。

仮想環境への切り替え

 CLI環境で、作成した仮想環境に入る方法を示します。各プラットフォームでのコマンドです。

プラットフォーム シェル 仮想環境を有効化するためのコマンド
Windows cmd.exe .venv\Scripts\activate.bat
PowerShell .venv\Scripts\Activate.ps1
POSIX bash/zsh source .venv/bin/activate
fish source .venv/bin/activate.fish
csh/tcsh source .venv/bin/activate.csh
PowerShell .venv/bin/Activate.ps1

 Windows環境なら、次のコマンドでいけます。

.venv\Scripts\activate

 PowerShellで、スクリプトの実行が無効になっているとエラーが出た場合には、許可をおこないます。これは1回だけおこなえばよいです。

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

 仮想環境に入ると、CLIの行の先頭に「(.venv)」と付きます。この状態になっていると仮想環境に入っています。

 仮想環境から出るときは次のコマンドを使います。

deactivate

 以降の作業は、仮想環境の中でおこないます。

仮想環境の複製

 これから仮想環境にパッケージをインストールしていくわけですが、仮想環境の複製の仕方を説明しておきます。

 「.venv」ディレクトリをコピーするのではなく、インストールしているパッケージの一覧を出力して、他の環境で必要なファイルをインストールし直します。

 まずは複製元からの、パッケージ一覧の出力コマンドです。このコマンドは、仮想環境に入った状態でおこないます。「requirements.txt」に、パッケージ一覧を書き出します。

python -m pip freeze > requirements.txt

 次は複製先での、パッケージ一覧のインストールです。先に、仮想環境を作っておく必要があります。そして「requirements.txt」をコピーしておきます。この状態で仮想環境に入り、次のコマンドを実行してインストールをおこないます。

python -m pip install -r requirements.txt

pipのアップグレード

 仮想環境でpipを利用してパッケージのインストールを実行したときに、pipの更新を促される時があります。仮想環境にインストールされるpipが古いときがあるようです。Webで情報を調べているときにも、同様の情報が報告されていました。

 次のコマンドを実行することでpipを更新できます。このコマンドは、仮想環境に入った状態でおこないます。

python -m pip install --upgrade pip

 更新には1分半ほどかかりました。実行後の「.venv」ディレクトリは、14.1MBです。0.2MB増えました。

パッケージのインストール

 パッケージのインストールはpip installでおこなえます。このコマンドは、仮想環境に入った状態でおこないます。

pip install <パッケージ名>

 パッケージをインストールしたあとは、pip listコマンドで、インストールされているパッケージの一覧を確かめるとよいです。

pip list

 それでは次からは今回の開発に必要なパッケージを、仮想環境にインストールしていきます。


同人誌について

 この連載は、同人誌『PythonとPygameで作る レトロ風RPG 全コード』を一部抜粋して編集したものです。

 同人誌本編には、ゲーム本体のソースコードや、各種のサンプルコード、Windowsで実行できるEXEファイルが付属しています。PDFで290ページの本になります。ぜひ、こちらもご購入ください。

(2024-03-28:ver1.0.4 に更新、2024-03-10:ver1.0.3 に更新)

 技術系同人誌など まとめページ


トップページに戻る
Cronus Crown(クロノス・クラウン)のトップページに戻る
(c)2002-2024 Cronus Crown (c)1997-2024 Masakazu Yanai
ご意見・お問い合わせはサイト情報 弊社への連絡までお願いします
個人情報の取り扱い、利用者情報の外部送信について