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>
参考文献
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