Pythonモジュールの配布—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/3.9/distributing/index
移動先:案内検索

Pythonモジュールの配布

Eメール
distutils-sig @ python org

人気のあるオープンソース開発プロジェクトとして、Pythonには貢献者とユーザーの活発なサポートコミュニティがあり、他のPython開発者がオープンソースライセンス条項の下でソフトウェアを使用できるようにしています。

これにより、Pythonユーザーは効果的に共有およびコラボレーションできるようになり、一般的な(場合によってはまれな)問題に対して他のユーザーがすでに作成したソリューションの恩恵を受け、共通のプールに独自のソリューションを提供できる可能性があります。

このガイドでは、プロセスの配布部分について説明します。 他のPythonプロジェクトをインストールするためのガイドについては、インストールガイドを参照してください。

ノート

企業やその他の機関のユーザーの場合、多くの組織がオープンソースソフトウェアの使用と貢献に関する独自のポリシーを持っていることに注意してください。 Pythonで提供される配布およびインストールツールを使用する場合は、このようなポリシーを考慮に入れてください。


重要な用語

  • Python Package Index は、他のPythonユーザーが使用できるようになっているオープンソースライセンスパッケージのパブリックリポジトリです。
  • Python Packaging Authority は、標準のパッケージツールと関連するメタデータおよびファイル形式の標準の保守と進化を担当する開発者とドキュメント作成者のグループです。 GitHubBitbucket の両方で、さまざまなツール、ドキュメント、課題追跡システムを維持しています。
  • distutils は、1998年にPython標準ライブラリに最初に追加されたオリジナルのビルドおよび配布システムです。 distutils の直接使用は段階的に廃止されていますが、現在のパッケージングおよび配布インフラストラクチャの基盤を築いており、標準ライブラリの一部であるだけでなく、その名前は他の方法でも存続しています( Pythonパッケージング標準の開発を調整するために使用されるメーリングリストの名前として)。
  • setuptools は、2004年に最初に公開された distutils の(大部分が)ドロップインの代替品です。 変更されていない distutils ツールに対する最も注目すべき追加は、他のパッケージへの依存関係を宣言する機能でした。 現在、 distutils のより定期的に更新される代替手段として推奨されており、さまざまなPythonバージョンにわたって最新のパッケージング標準を一貫してサポートしています。
  • Wheel (このコンテキストでは)は、bdist_wheelコマンドを distutils / setuptools に追加するプロジェクトです。 これにより、クロスプラットフォームのバイナリパッケージ形式(「ホイール」または「ホイールファイル」と呼ばれ、 PEP 427 で定義)が生成され、バイナリ拡張機能を含むPythonライブラリをインストールできます。ローカルに構築する必要のないシステム上。


オープンソースライセンスとコラボレーション

世界のほとんどの地域で、ソフトウェアは自動的に著作権で保護されています。 これは、他の開発者がソフトウェアをコピー、使用、変更、および再配布するための明示的な許可を必要とすることを意味します。

オープンソースライセンスは、比較的一貫した方法でそのような許可を明示的に付与する方法であり、開発者がさまざまな問題の共通の解決策を自由に利用できるようにすることで、効率的に共有およびコラボレーションできるようにします。 これにより、多くの開発者は、特定の状況に比較的固有の問題に集中するためにより多くの時間を費やすことができます。

Pythonで提供される配布ツールは、開発者が必要に応じて、ソフトウェアの共通プールに独自の貢献をすることを合理的に簡単にするように設計されています。

ソフトウェアがオープンソースソフトウェアとして公開されているかどうかに関係なく、同じ配布ツールを使用して組織内でソフトウェアを配布することもできます。


ツールのインストール

コア開発チームは、古いバージョンのPythonでも一貫して機能する標準ツールを用意することが重要であると判断したため、標準ライブラリには最新のPythonパッケージング標準をサポートするビルドツールが含まれていません。

現在推奨されているビルドおよび配布ツールは、コマンドラインでpipモジュールを呼び出すことでインストールできます。

python -m pip install setuptools wheel twine

ノート

POSIXユーザー(macOSおよびLinuxユーザーを含む)の場合、これらの手順は仮想環境の使用を前提としています。

Windowsユーザーの場合、これらの手順は、Pythonのインストール時にシステムPATH環境変数を調整するオプションが選択されていることを前提としています。


Pythonパッケージユーザーガイドには、現在推奨されているツールの詳細が含まれています。


Pythonパッケージユーザーガイドを読む

Pythonパッケージユーザーガイドでは、プロジェクトの作成と公開に関連するさまざまな主要な手順と要素について説明しています。


どうすれば…?

これらは、いくつかの一般的なタスクのクイックアンサーまたはリンクです。

…私のプロジェクトの名前を選択しますか?

これは簡単なトピックではありませんが、ここにいくつかのヒントがあります。

  • Python Package Indexをチェックして、名前がすでに使用されているかどうかを確認します
  • GitHub、Bitbucketなどの人気のあるホスティングサイトをチェックして、その名前のプロジェクトがすでに存在するかどうかを確認します
  • あなたが検討している名前のウェブ検索で何が出てくるかを確認してください
  • 特に一般的な単語、特に複数の意味を持つ単語は避けてください。ユーザーがソフトウェアを検索するときにソフトウェアを見つけるのが難しくなる可能性があります。


…バイナリ拡張機能を作成して配布しますか?

これは実際には非常に複雑なトピックであり、達成しようとしていることに応じてさまざまな選択肢があります。 詳細と推奨事項については、Pythonパッケージユーザーガイドを参照してください。