Skip to Content
DevOpsのためのPython
book

DevOpsのためのPython

by Noah Gift, Kennedy Behrman, Alfredo Deza, Grig Gheorghiu
March 2025
Intermediate to advanced
506 pages
8h 3m
Japanese
O'Reilly Media, Inc.
Content preview from DevOpsのためのPython

第5章 パッケージ管理 パッケージ管理

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

多くの場合、 、小さなスクリプトは有用性と重要性を増し、そのコンテンツを共有・配布する必要性が生じる。Python ライブラリは、他のコードプロジェクトと同様に、パッケージングを必要とする。 パッケージングなしでは、コードの配布は問題となり、もろくなる。

概念実証の段階を過ぎたら、変更を追跡し、変更の種類を宣伝し(例えば、後方互換性のないアップデートを導入する場合)、ユーザが特定のバージョンに依存する方法を提供することが有用である。最も単純なユースケースであっても、いくつかの(パッケージングの)ガイドラインに従うことは有益である。これは少なくとも、変更履歴を記録し、バージョンを決定することを意味する。

パッケージ管理にはいくつかの戦略があり、よく使われるものをいくつか知っておくことで、問題解決に最適な選択肢を採用することができる。例えば、PythonライブラリをDebianやRPMのようなシステムパッケージにするのではなく、Python Package Index (PyPI)を通じて分散システムとして配布する方が簡単かもしれない。Pythonスクリプトが特定の間隔で実行される必要がある場合や、長時間実行される場合は、systemd と連携するシステムパッケージの方がうまくいくかもしれない。

systemd はパッケージングツールではないが、プロセスやサーバ起動シーケンスの管理に依存しているシステム上ではうまく機能する。 いくつかのsystemd のコンフィギュレーションセットといくつかのパッケージングでプロセスを処理する方法を学ぶことは、Pythonプロジェクトの能力をさらに向上させる素晴らしい方法である。

Pythonのネイティブパッケージングツールには、パッケージ用のパブリックホスティングインスタンス(PyPI)がある。しかし、DebianやRPMパッケージの場合、ローカルリポジトリを提供するためには多少の努力が必要である。この章では、PyPI に代わるローカルのツールを含め、パッケージリポジトリの作成と管理を簡単にするツールをいくつか取り上げる。

さまざまなパッケージング戦略をよく理解し、適切なバージョン管理や変更履歴の保存といった健全なプラクティスを行うことで、ソフトウェアを配布する際に安定した一貫性のある体験を提供することができる。

なぜパッケージングが重要なのか?

ソフトウェアのパッケージ化は、(規模の大小にかかわらず!)プロジェクトにとって不可欠な機能である。バージョンと変更点を(変更ログで)追跡することは、新機能やバグフィックスについての洞察を提供する優れた方法である。バージョン管理は、プロジェクト内で何が機能するかを他の人がよりよく判断することを可能にする。

問題やバグを特定しようとするとき、変更点を正確に記述した変更履歴は、システム破壊の潜在的な原因を特定するのに役立つ貴重なツールである。

プロジェクトをバージョン管理し、変更点を変更履歴に記述し、他の人がプロジェクトをインストールして使用する方法を提供するには、規律とハードワークが必要だ。しかし、配布、デバッグ、アップグレード、あるいはアンインストールの際に得られる利点は大きい。

包装が不要な場合

プロジェクトを他のシステムに分散させる必要が全くない場合もある。Ansible playbookは通常、ネットワーク内の他のシステムを管理するために、1つのサーバから実行される。Ansibleのようなケースでは、バージョン管理に従って変更ログを残すだけで十分かもしれない。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

FastAPIで生成型AIサービスを作る

FastAPIで生成型AIサービスを作る

Alireza Parandeh

Publisher Resources

ISBN: 9798341625402