Open6

Pythonの開発環境を整える

がみがみ

このスクラップについて

Windows 11 にてPythonの開発環境を構築した際のメモを記録する

インストールした物

  • PowerShell 7.4.6.0
  • pyenv-win 3.1.1
  • Python 3.13.0
  • pipx 1.7.1
  • Poetry (version 1.8.4)
がみがみ

PowerShell 7

PowerShell 7 のインストールおよびプロファイルの設定を行う。PowerShellのデフォルトの文字コードの設定はShift_JISとなっているようだが、Pythonの開発時はUTF-8としたいため、それに合わせて文字コードを修正しておく。

PowerShell 7 のインストール

Microsoftのドキュメントを参考にし、PowerShell 7 をインストールする。
winget installコマンドの実行後に確認画面が表示されるため、そのまま許可してインストールする。

# 最新バージョンのPowerShellを検索
PS C:\Users\gami> winget search Microsoft.PowerShell
名前               ID                           バージョン ソース
------------------------------------------------------------------
PowerShell         Microsoft.PowerShell         7.4.6.0    winget
PowerShell Preview Microsoft.PowerShell.Preview 7.5.0.5    winget

# インストール
PS C:\Users\gami> winget install --id Microsoft.Powershell --source winget
見つかりました PowerShell [Microsoft.PowerShell] バージョン 7.4.6.0
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
ダウンロード中 https://github.com/PowerShell/PowerShell/releases/download/v7.4.6/PowerShell-7.4.6-win-x64.msi
  ██████████████████████████████   104 MB /  104 MB
インストーラーハッシュが正常に検証されました
パッケージのインストールを開始しています...
インストールが完了しました
PS C:\Users\gami>

ターミナルの規定プロファイル変更

現在の設定では、ターミナルを開いた際にデフォルトでPowerShell 5が開く。PowerShell 7が開くように修正する。

設定を開く

デフォルトの設定を Powershell 7 に設定する。

設定変更

プロファイル設定

Pythonでの開発の際にUTF-8を利用するため、プロファイルに文字コードをUTF-8に指定するコマンドを仕込んでおく。Powershell 7 を開いた際に自動で切り替わるようになる。

PS C:\Users\gami> $f = Split-Path -Path $profile -Parent
PS C:\Users\gami> New-Item $f -ItemType Directory -Force > null
PS C:\Users\gami> Set-Content -Path $profile -Value "chcp 65001; [Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding('utf-8')" -Encoding utf8

ターミナルを再起動し、下記表示が確認できれば設定に成功している。

Active code page: 65001
PS C:\Users\gami>

参考文献

https://learn.microsoft.com/ja-jp/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.4#winget

https://nisland.hatenablog.com/entry/2021/05/08/160222

https://acoustic-groove2.hatenablog.com/entry/2017/12/06/013928

がみがみ

pyenv-win、Python

windowsマシン上で複数のpythonバージョンを扱えるようにするツール。プロジェクトによってバージョンが違う場合など、バージョンの切り替えが必要な場合に役立つ。

また、公式サイト上で指定されたバージョンのインストーラを探すのが非常に困難であるため、pyenv-win経由で手軽にインストールできるようにしておきたい。

pyenv-winのインストール

公式の手順に従ってインストールを実行する。インストール完了後にターミナルを再起動する。

PS C:\Users\gami> Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"
                                                                                                                            Directory: C:\Users\gami                                                                                                                                                                                                                    Mode                 LastWriteTime         Length Name                                                                  ----                 -------------         ------ ----                                                                  d----          2024/11/05    23:28                .pyenv
pyenv-win is successfully installed. You may need to close and reopen your terminal before using it.

PS C:\Users\gami>

下記のように表示されればインストールに成功している。

PS C:\Users\gami> pyenv --version
pyenv 3.1.1
PS C:\Users\gami>

Pythonのインストール

pyenvを用いて Pythonのインストールを実行する。まず、pyenv-winで利用できるPythonのバージョンを確認する。

PS C:\Users\gami> pyenv install -l
:: [Info] ::  Mirror: https://www.python.org/ftp/python
:: [Info] ::  Mirror: https://downloads.python.org/pypy/versions.json
:: [Info] ::  Mirror: https://api.github.com/repos/oracle/graalpython/releases
・・・
3.13.0-win32
3.13.0-arm
3.13.0
3.14.0a1-win32
3.14.0a1-arm
3.14.0a1
・・・
PS C:\Users\gami>

3.13.0が Stable Release となっているようなので、そちらをインストールする。

PS C:\Users\gami> pyenv install 3.13.0
:: [Info] ::  Mirror: https://www.python.org/ftp/python
:: [Info] ::  Mirror: https://downloads.python.org/pypy/versions.json
:: [Info] ::  Mirror: https://api.github.com/repos/oracle/graalpython/releases
:: [Downloading] ::  3.13.0 ...
:: [Downloading] ::  From https://www.python.org/ftp/python/3.13.0/python-3.13.0-amd64.exe
:: [Downloading] ::  To   C:\Users\gami\.pyenv\pyenv-win\install_cache\python-3.13.0-amd64.exe
:: [Installing] ::  3.13.0 ...
:: [Info] :: completed! 3.13.0
PS C:\Users\gami>

Pythonの3.13.0を利用するように設定を切り替える。下記のように表示されていれば問題なし。

PS C:\Users\gami> pyenv global 3.13.0
PS C:\Users\gami> pyenv version
3.13.0 (set by C:\Users\gami\.pyenv\pyenv-win\version)
PS C:\Users\gami> python -c "import sys; print(sys.executable)"
C:\Users\gami\.pyenv\pyenv-win\versions\3.13.0\python.exe
PS C:\Users\gami>
がみがみ

Poetry

PoetryはPythonプロジェクトにてパッケージの依存性の管理等を行うツール。非常に簡単な操作で、パッケージの追加や仮想環境の生成等の作業を行うことができて便利。

pipxのインストール

Poetryのインストール方法として、pipxを利用してインストールするように指示があるため、こちらを利用してPoetryをインストールしていく。パッケージごとに仮想環境を準備してくれるため、自身の環境を汚すことなくパッケージのインストールが出来る。

下記コマンドでインストールを進める。

# pipを利用してインストール
PS C:\Users\gami> python -m pip install --user pipx
・・・
Installing collected packages: pipx
Successfully installed pipx-1.7.1

# 環境変数の設定(pipxがインストールされたフォルダで実施)
PS C:\Users\gami\AppData\Roaming\Python\Python313\Scripts> ls

    Directory: C:\Users\gami\AppData\Roaming\Python\Python313\Scripts

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
・・・
-a---          2024/11/09    15:03         108399 pipx.exe
・・・

# 環境変数の設定
PS C:\Users\gami\AppData\Roaming\Python\Python313\Scripts> .\pipx.exe ensurepath

再起動し、インストールに成功していることを確認する。

PS C:\Users\gami> pipx --version
1.7.1
PS C:\Users\gami>

Poetryのインストール

公式のインストール手順に従ってインストールする。

# インストール
PS C:\Users\gami> pipx install poetry
  installed package poetry 1.8.4, installed using Python 3.13.0
  These apps are now globally available
    - poetry.exe
done! ✨ 🌟 ✨
# インストールされたことの確認
PS C:\Users\gami> poetry --version
Poetry (version 1.8.4)
PS C:\Users\gami>
がみがみ

Visual Studio Codeのインストール

下記コマンドでインストールできる。

PS C:\Users\gami> winget search Microsoft.VisualStudioCode
名前                                      ID                                      バージョン ソース
----------------------------------------------------------------------------------------------------
Microsoft Visual Studio Code              Microsoft.VisualStudioCode              1.95.2     winget
Microsoft Visual Studio Code CLI          Microsoft.VisualStudioCode.CLI          1.95.2     winget
Microsoft Visual Studio Code Insiders     Microsoft.VisualStudioCode.Insiders     1.96.0     winget
Microsoft Visual Studio Code Insiders CLI Microsoft.VisualStudioCode.Insiders.CLI 1.96.0     winget

PS C:\Users\gami> winget install --id Microsoft.VisualStudioCode --source winget
見つかりました Microsoft Visual Studio Code [Microsoft.VisualStudioCode] バージョン 1.95.2
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
ダウンロード中 https://vscode.download.prss.microsoft.com/dbazure/download/stable/e8653663e8840adaf45af01eab5c627a5af81807/VSCodeUserSetup-x64-1.95.2.exe
  ██████████████████████████████  98.5 MB / 98.5 MB
インストーラーハッシュが正常に検証されました
パッケージのインストールを開始しています...
インストールが完了しました
PS C:\Users\gami>

拡張機能のインストール

  • 名前: Japanese Language Pack for Visual Studio Code
    ID: MS-CEINTL.vscode-language-pack-ja
  • 名前: Code Spell Checker
    ID: streetsidesoftware.code-spell-checker
  • 名前: Python
    ID: ms-python.python
  • 名前: Pylint
    ID: ms-python.pylint
がみがみ

使ってみる

Qiitaでpyxelというレトロゲームエンジンの記事を見たので、簡単なゲームを作ってみる。

# 新規プロジェクトの作成
PS E:\prog\PythonProjects> poetry new --src pyxel_othello