pyenv/pyenv
6 articles
前提知識
- ›シェルスクリプト(bash)の基本的な知識
- ›Unix システムにおける PATH の動作についての理解
01
pyenv のしくみ:アーキテクチャとコード探索ガイド
純粋なシェルスクリプトで実装された Python バージョンマネージャーとしての pyenv のアーキテクチャを解説します。ディレクトリ構成、コマンドディスパッチャー、規約ベースの探索機能、オプションの C 拡張についてカバーします。
02
シム・インターセプション・パターン:pyenv が Python コマンドを乗っ取る仕組み
ユーザーが `python` と入力した瞬間から、シムによるインターセプション、バージョン解決、最終的なバイナリ探索までの実行パスを完全に追います。
03
シェル統合の詳細解説:pyenv が環境を変更する仕組み
pyenv をシェルに組み込む eval-init パターン、環境変数の変更を可能にする pyenv() 関数、そしてバージョン設定に使う3つのコマンドを深く掘り下げます。
04
python-build の内側:pyenv が Python をソースからコンパイルする仕組み
バンドルされた python-build プラグインを深掘りします。CPython のコンパイル、PyPy のダウンロード、依存関係の検出、バージョン定義の管理を担うビルドエンジンの全貌を解説します。
05
フック、プラグイン、そして拡張性:pyenv のモジュール設計
pyenv のフックシステム、pip-rehash と conda 除外フック、virtualenv 向けソース型シム、そしてサードパーティプラグインの作成規約を解説します。
06
pyenv のテスト:Bats、Docker、そしてプロジェクトへの貢献
Bats を基盤としたテストインフラ、Docker による複数バージョンでのテスト、CI ワークフロー、そしてプロジェクトへの貢献方法について解説します。