PYPIにおけるパッケージングと出版


このポストは、パッケージ化と出版に関するPythonライブラリですPyPI "
チュートリアルがありますPackaging Python Projects 公式PYPIウェブサイトでは、しかし、これらの医者はそうです...時代遅れ.

何がPpyiですか?


ウェブサイトが言うように:

The Python Package Index (PyPI) is a repository of software for the Python programming language.


これはPYPIがPythonの公式サードパーティ製ソフトウェアリポジトリであることを意味します.他の開発者の使用のためにPythonパッケージを公開することができます.PYPIはこれらのPythonパッケージをsdists ( source distribution )の形式でコンパイルします.

ファイル構造


プロジェクトをパッケージ化する前に特定のファイル構造を維持する必要があります.
package_name/
├── src/
|    ├── __init__.py
|    ├── example.py
|    └── py.typed
├── LICENSE
├── pyproject.toml
├── README.md
├── setup.py (or) setup.cfg
└── tests/
以下のようにします.
  • src/__init__.py : このファイルにはすべてのインポート文が含まれます.以下のような文を追加しますfrom .example import <function names>
  • src/example.py : このファイルにはすべての関数とクラス定義が含まれます.
  • src/py.typed : 空のファイル.Read more here
  • LICENSE : このファイルには、公開しているコードのライセンスが含まれます.
  • からライセンスを選択することができますchoosealicense.com
  • pyproject.toml : このファイルはパッケージをビルドするために必要なビルドツール(ビルドやピップなど)を伝えます.今のところこれは次のようになります.
    [build-system]
    requires = [
        "setuptools>=42",
        "wheel"
    ]
    build-backend = "setuptools.build_meta"
    
  • README.md : このファイルはガイドとして機能します.それはあなたのプロジェクトの詳細な説明を開発者に提供します.
  • setup.py またはsetup.cfg (静的な)は、あなたのパッケージに関する「setuptools」情報(名前、バージョン、作者など)を与えるファイルです.また、通知するsetuptools 含むコードファイル.
  • Writing setup.cfg/setup.py
  • tests/ : このフォルダは、テストファイルのプレースホルダーです.
  • パッケージングプロジェクト


    まず、pip デバイスにインストールされて最新バージョンです.これを実行するには、次の手順に従います.
    $ pip install --upgrade pip
    
    この後インストールbuild 使用
    $ pip install --upgrade build
    
    さあ、プロジェクトをまとめましょう.プロジェクトをパッケージ化するには、次の手順を実行します.
    $ python -m build
    
    このコマンドはたくさんのテキストを出力し、build/ フォルダとdist/ フォルダ.
    プロジェクトはパッケージされています!今、私たちはPYPIでそれを出版しなければなりません.

    PYPIの出版


    PYPIで出版する最初のステップはアカウントを作成することです.ヘッドオーバーPyPI をクリックして(右上隅のテキスト、緑色で強調表示)をクリックします.

    次のようにフォームを取得します.

    フォームを入力し、ユーザー名とパスワードを覚えておいてください.あなたのプロジェクトを公開しながら、それが必要になります.
    今すぐターミナルに戻って実行します.
    $ pip install --upgrade twine
    
    このコマンドは、twineが既に存在するなら、最新のバージョンにtwineをアップグレードします.それが存在しないならば、それは最新版をインストールします.今、パッケージをアップロードする時です!
    $ twine upload dist/*
    
    あなたは、認証目的のためにあなたのPYPIユーザ名とパスワードを入力するよう求められます.入力後、出力の最後の行にURLが表示されます.URLはフォーマットですhttps://pypi.org/project/<package_name>おめでとう、PlaniパッケージはPpyi!

    さあ、ライブラリをインストールしてみましょう!
    $ pip install <package_name>