パイソンエッグ

パイソンエッグ

Python Egg は過去に使用されていたパッケージ形式ですが、現在は Python Wheel と呼ばれる新しい形式に置き換えられています。 Egg 配布形式は 2004 年に setuptools によって導入されましたが、Wheel 形式は 2012 年に PEP 427 によって開始されました。

.egg ファイルは .zip ファイルに似ており、完全にクロスプラットフォームです。 それらは setuptools パッケージを使用して構築されます。

このチュートリアルでは、.egg ファイルを作成し、Python で easy_install を使用してインストールする方法を説明します。

Python でパッケージ用の .egg ファイルを作成する

Python でパッケージの卵ファイルを作成する方法を見てみましょう。 このチュートリアルでは、次のファイルを含む test パッケージを使用します。

hello.py
__init__.py

まず、新しいディレクトリを作成し、その中に Python パッケージ フォルダーを配置します。 次に、新しいファイル setup.py を作成し、以下の内容を追加します。

from setuptools import setup, find_packages

setup(name="test", version="0.1", packages=find_packages())

test を Python パッケージ名に置き換える必要があります。 find_packages 関数は、現在のディレクトリでパッケージを見つけます。

次に、次のコマンドを実行して .egg ファイルを作成します。

python setup.py bdist_egg

出力:

Pythonで卵を作るコマンド

現在のディレクトリに、builddist、および test.egg-info という 3つの新しいフォルダーが作成されます。

C:\USERS\RHNTM\EGG
├───build
│   ├───bdist.win-amd64
│   └───lib
│       └───test
├───dist
├───test
└───test.egg-info

dist フォルダー内に .egg ファイル test-0.1-py3.10.egg があります。 3.10 は、このコンピューターにインストールされている Python のバージョンです。

.egg ファイルがあるので、このコマンドを使用して、作成したパッケージをインストールできます。

python2 -m easy_install .\test-0.1-py3.10.egg

出力:

Processing test-0.1-py3.10.egg
Copying test-0.1-py3.10.egg to c:\python27\lib\site-packages
Adding test 0.1 to easy-install.pth file

Installed c:\python27\lib\site-packages\test-0.1-py3.10.egg

.egg ファイル拡張子を .zip に変更すると、.zip ファイル内に testEGG-INFO の 2つのフォルダーがあります。

これで、.egg ファイルと、Python パッケージ用にそれを作成する方法を理解できたはずです。 easy_install を使用して Python にパッケージをインストールする方法も学びました。

.egg は廃止された形式であり、現在は使用されていません。 wheelspip install がそれを置き換えました。 詳細については、この 記事 を参照してください。

チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
著者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

関連記事 - Python Package