windows11でPythonを使っていくための準備をします(WSLは使わないです)
pyenv-winでPythonのバージョン管理と、Poetryを使ってPythonパッケージのインストールをします

Chocolatey

まずは、 MacやLinuxでは、Homebrewというパッケージ管理システムがありますが
Windowsでは、Chocolateyというパッケージ管理システムがあります。

便利なので入れておくとよいと思います
インストール方法は、過去記事参照

pyenv-winのインストール

pyenvは、複数のPythonのバージョンを管理し、プロジェクトごとに切り替えて使うための仕組みです

windowsだと pyenv-win がそれに該当します

Chocolateyでインストールするので、PowerShell(管理者)を実行し、インストール

choco install pyenv-win

インストールできたかは、PowerShell(管理者)を起動しなおしてバージョンの確認を行う

pyenv --version
pyenv 3.1.1

pyenvの使い方

# pyenvのバージョン
pyenv --version

# インストール
pyenv install <バージョン>

# インストール可能なバージョン一覧
pyenv versions

# Pythonのバージョン切替
pyenv global <バージョン>

pyenv local <バージョン>

pyenv local は、実行するとカレントディレクトリに .python-versionファイルが作成され、その中フォルダで実行すると指定したバージョンのPythonで実行できる。

poetryのインストール

引き続き、PowerShellで下記コマンドを実行

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -

参考: https://python-poetry.org/docs/#installing-with-the-official-installer

実行すると以下メッセージが表示されます

Retrieving Poetry metadata

# Welcome to Poetry!

This will download and install the latest version of Poetry,
a dependency and package manager for Python.

It will add the `poetry` command to Poetry's bin directory, located at:

C:\Users\{ユーザー名}\AppData\Roaming\Python\Scripts

You can uninstall at any time by executing this script with the --uninstall option,
and these changes will be reverted.

Installing Poetry (2.1.2)
Installing Poetry (2.1.2): Creating environment
Installing Poetry (2.1.2): Installing Poetry
Installing Poetry (2.1.2): Creating script
Installing Poetry (2.1.2): Done

Poetry (2.1.2) is installed now. Great!

To get started you need Poetry's bin directory (C:\Users\{ユーザー名}\AppData\Roaming\Python\Scripts) in your `PATH`
environment variable.

You can choose and execute one of the following commands in PowerShell:

A. Append the bin directory to your user environment variable `PATH`:

```
[Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", "User") + ";C:\Users\{ユーザー名}\AppData\Roaming\Python\Scripts", "User")
```

B. Try to append the bin directory to PATH every when you run PowerShell (>=6 recommended):

```
echo 'if (-not (Get-Command poetry -ErrorAction Ignore)) { $env:Path += ";C:\Users\{ユーザー名}\AppData\Roaming\Python\Scripts" }' | Out-File -Append $PROFILE
```

Alternatively, you can call Poetry explicitly with `C:\Users\{ユーザー名}\AppData\Roaming\Python\Scripts\poetry`.

You can test that everything is set up by executing:

`poetry --version`

このパスにインストールされていて
C:\Users{ユーザー名}\AppData\Roaming\Python\Scripts

削除したい場合は、 --uninstal オプションで実行すればよいとのこと

環境変数にこのパスを追加してね とも書いてありますね。
ご丁寧にパス追加のコマンドまで書かれているのでそれを実行します

PowerShellを再起動して poetry --versionを実行すると
Poetry (version 2.1.2)
のようにバージョンが表示されればOKです

使い方の流れ

プロジェクトを作成
poetry new

追加するパッケージがあれば追加します
poetry add

特定のバージョンを追加したい場合
poetry add @

開発で使用するパッケージを追加したい場合
poetry add --dev

パッケージのインストール(仮想環境の作成)
poetry install

パッケージのアップデート
poetry update

事前に何が変更されるか確認したい場合は、
poetry update --dry-run

不要なパッケージの削除
poetry remove

特定のPythonバージョンで実行したい場合
pyenv local <バージョン>

仮想環境で実行
poetry run python

仮想環境に移動して実行
poetry shell
python

参考: 生成AIさん、開発で追加すると便利なパッケージってなーにー?

  1. テスト関連
    pytest: テストフレームワーク。シンプルな構文でユニットテストを記述可能。 pytest-cov: テストカバレッジ計測ツール。コードのテスト範囲を可視化。 requests-mock: HTTPリクエストのモック作成。APIテスト時に外部依存を排除。

  2. コード品質管理 flake8: コードスタイルチェック(PEP8準拠)。 black: 自動コードフォーマッター。一貫したスタイルを強制。 mypy: 静的型チェッカー。型アノテーションの誤りを検出。

  3. ドキュメンテーション Sphinx: プロフェッショナルなドキュメント生成。Python公式ドキュメントも採用。 mkdocs: Markdownベースの軽量ドキュメントツール。

  4. 開発支援ツール ipython: 対話型シェル。デバッグやプロトタイピングに便利。 jupyter: ノートブック環境。データ分析や可視化の実験用。

  5. 環境構築・デプロイ twine: PyPIへのパッケージアップロード用。 docker-compose: コンテナ環境の管理(Docker連携)。

  6. その他 pre-commit: Gitコミット前の自動チェック(テスト、リントなど)を実行。 bandit: セキュリティ脆弱性スキャン。

投稿日時: 2025-04-12 06:01:12
更新日時: 2025-04-13 05:20:13

Chocolatey・・・Windows向けのパッケージマネージャで、ソフトウェアをインストール、管理、アップデート、アンインストールするためのツールです。Linuxのaptやyum、macOSのbrewに似た概念

Windows Package Manager (winget)・・・Microsoftが提供するWindows向けの公式パッケージ管理ツール。wingetがmicrosoftが公式に提供しているパッケージマネージャー。

サイト

https://chocolatey.org/

Chocolateyのインストール

インストール方法は、Communityに記載あり。
https://community.chocolatey.org/

Install Chocolatey をクリック

管理者モードでPowerShellを開く

Set-ExecutionPolicy Bypass -Scope Process -Force;
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

以下にchoco.exeがインストールされるのね
C:\ProgramData\chocolatey\bin

> choco -v
2.4.1
# パッケージインストール すべて yes とするなら -y をつける
choco install <パッケージ名>

# パッケージのアップグレード
choco upgrade <パッケージ名>

# 全パッケージ更新
choco upgrade chocolatey

# パッケージのアンインストール
choco uninstall <パッケージ名>

# パッケージの一覧
choco list

# Chocolatey自体の更新
choco upgrade chocolatey

システムの更新やシステム全体を変更するような機能については、管理者モードで起動したシェルで操作はマスト
そうでないものだけ、ユーザー権限でいれれるが基本は管理者モードで操作をする

Github CLIをインストール
通常の権限だと、「パス 'C:\ProgramData\chocolatey.chocolatey' へのアクセスが拒否されました。」だったので、引き続き管理者権限。

choco install gh
Chocolatey v2.4.1
Installing the following packages:
gh
By installing, you accept licenses for the packages.
Downloading package from source 'https://community.chocolatey.org/api/v2/'

gh v2.63.2 [Approved]
gh package files install completed. Performing other installation steps.
The package gh wants to run 'chocolateyInstall.ps1'.
Note: If you don't run this script, the installation will fail.
Note: To confirm automatically next time, use '-y' or consider:
choco feature enable -n allowGlobalConfirmation
Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint): Y

Installing 64-bit gh...
gh has been installed.
  gh may be able to be automatically uninstalled.
Environment Vars (like PATH) have changed. Close/reopen your shell to
 see the changes (or in powershell/cmd.exe just type `refreshenv`).
 The install of gh was successful.
  Software installed as 'MSI', install location is likely default.

Chocolatey installed 1/1 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

>choco list
Chocolatey v2.4.1
chocolatey 2.4.1
gh 2.63.2

Githubの認証を行う ※事前に ssh-keygen -t rsa -b 4096 -f xxxx(好きな名前) で 秘密鍵/公開鍵を作っておく

gh auth login
? Where do you use GitHub? 
> GitHub.com
  Other

? What is your preferred protocol for Git operations on this host?
  HTTPS
> SSH

// アップロードする 公開鍵を選択
? Upload your SSH public key to your GitHub account?
> C:\Users\xxxx\.ssh\xxxxxxxx.pub
  Skip

// GitHubアカウント内で表示される名前を設定
? Title for your SSH key: (GitHub CLI) xxxxxxxxx

? How would you like to authenticate GitHub CLI?
> Login with a web browser
  Paste an authentication token

// web browserを選択すると・・・以下メッセージが表示されるため Enterを押すとブラウザが立ち上がりログイン画面が表示される。
Press Enter to open https://github.com/login/device in your browser...

// ログインすると、one-timeのコードが表示されるのでそれをログイン画面後に表示されるコード入力画面に入力するとログインが完了する
! First copy your one-time code: XXXX-XXXX
✓ Authentication complete.
- gh config set -h github.com git_protocol ssh
✓ Configured git protocol
✓ Uploaded the SSH key to your GitHub account: C:\Users\xxxx\.ssh\xxxxxxxx.pub
✓ Logged in as xxxxxx
投稿日時: 2024-12-20 15:08:20
更新日時: 2025-04-11 17:53:11

最近の投稿

最近のコメント

タグ

アーカイブ

その他