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?

Python開発環境のセットアップ(2026年4月)

0
Posted at

概要

長らくPythonを使ってきましたが、最近の開発環境構築はかなり変わってきているので、変遷を少し追いつつ、現在どのような構成が一番良さそうかというところを最後にまとめられればと思います

本題

開発環境で使ったことがある、聞き覚えのあるもの

最新のものを調査・調べる前にこれまでどのようなものを使って開発されてきたかを確認したいと思います

  • パッケージ/バージョン管理
    • pip + requirements.txt
    • Poetry / Pipenv
  • 仮想環境管理
    • virtualenv / venv
  • リンター / フォーマッター
    • Black
    • isort
    • flake8
  • 静的型判定
    • mypy

基本的に使ったことがある・聞いたことがあるというものでいうと上の通りかと思います
設定ファイルがそれぞれで異なることもあり、環境統一をルールづけなければ揃った開発環境を作成するのはなかなか難しかったと思います

(どこまでいってもPoetry派、Pipenv派みたいなものがありますよね)

現在はどのような構成が良いらしいのか

ここまで使ったことがあるものと聞いたことがあるものをまとめましたが、現在最適そうな構成についても調べてみました(現在使っています)

ジャンル 名称 特徴
パッケージ / バージョン管理 uv Pythonのインストール、ライブラリ管理、仮想環境の作成、スクリプト実行をこれ1つで完結
リンター / フォーマッター Ruff 従来の Black / isort / flake8 を1つのツールに統合している
静的型判定 Ty mypyなどよりも10倍くらい実行速度がある
ユニットテスト pytest 豊富なプラグインと簡潔な記法でテストを実装可能

大体使いそうなもののまとめとしてはこのような感じかと思われます
共通しているのはパッケージ管理、リンター、静的型判定どれについてもRust製となっているところが特徴的だと思います

Rust自体は速いという特徴を耳にしていましたが、mypyとの比較結果を見ても10倍の性能差があるというのはすごいなと思います

性能が良いものが出たと言っても、〇〇派閥という論争は無くならないかと思いますが
それでも性能が良いものを使える、管理しやすいものを使えるといったメリットがあると統一の意思決定がしやすいのでは?と個人的には思います

インストール方法

ついでなので、Macにインストールする場合をまとめて終わりにしようと思います

Mac

インストール手順

brew install uv
uv tool install ty

コマンドなど

# プロジェクト初期化
uv init

# 開発用ライブラリとして追加
uv add --dev ruff ty pytest

# 実行
uv run ruff check
uv run ty check

おわりに

ということで以上で、Pythonの開発環境の整理をまとめてみました
今後は自分の環境はこれで統一して開発していきたいと思います

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?