ホームページ  >  記事  >  バックエンド開発  >  Python パッケージ (モジュール)

Python パッケージ (モジュール)

高洛峰
高洛峰オリジナル
2016-10-19 13:33:241224ブラウズ

Python パッケージ管理のさまざまな方法の違い

私はしばらく Python を学習していますが、さまざまなパッケージ (時には setup.py、時には easy_install、時には pip、そして distutils などの概念) をインストールするという問題によく遭遇します。 setuptools など、誰がいつ何を使用すればよいのかわかりません。今日はこれらの概念を明確にします。

distutils

distutils は Python 標準ライブラリの一部であり、その本来の目的は、開発者に便利なパッケージ化方法を提供し、ユーザーに便利なインストール方法を提供することです。

たとえば、foo.py ファイルを含む foo という名前のパッケージを作成し、他の人がそれを使用できるようにパッケージ化したいとします。 現時点では、setup.py ファイルを作成する必要があります:

from distutils.core import setup

setup(name='foo',

version='1.0',

py_modules=['foo'],

)

)

次にコマンド

$python setup.py sdist

を実行すると、現在のディレクトリに dist という名前のフォルダーが見つかります。このフォルダーには foo-1.0.tar.gz パッケージが含まれています。 このパッケージには、foo.py、setup.py、PKG-INFO の 3 つのファイルがあります。最初の 2 つのファイルは、前に説明した 2 つのファイルと同じです。 PKG-INFO はパッケージに関する情報です。その後、他の人のために foo-1.0.tar.gz をインストールできます。

インストーラーがこのパッケージを使用したい場合は、foo-1.0.tar.gz ファイルを解凍し、コマンド

$python setup install

を実行するだけで済みます。パッケージは、上の適切な場所に自動的にインストールされます。システム。

setuptools

setuptools は distutils の機能拡張であり、特にパッケージ依存関係管理の導入です。

setuptools は、Python パッケージの Egg ファイルを作成できます。Python と Egg ファイルの関係は、Java パッケージと jar パッケージの関係に相当します。

setuptools が提供する easy_install スクリプトを使用して、egg パッケージをインストールできます。 さらに、easy_install は、PyPI から関連パッケージを自動的にダウンロードし、インストールとアップグレードを完了できます。

easy_install は、次のような Python パッケージをインストールおよびアップグレードするためのさまざまな方法を提供します。

easy_install SQLObject

easy_install -f http://pythonpaste.org/package_index.html SQLObject

easy_install http://example.com/ path /to/MyPackage-1.2.3.tgz

easy_install /my_downloads/OtherPackage-3.2.1-py2.3.​​egg

easy_install --upgrade PyProtocols

その後、開発者は setuptools の開発が遅すぎると感じ、フォークしました。 Distribute プロジェクトは Distribute プロジェクトにマージされ、その後 2013 年 8 月に Distribute は setuptools 0.7 にマージされて戻りました。

pip

pip は、Python パッケージをインストールおよび管理するためのツールです。これは easy_install の機能強化です。 PyPI からパッケージを自動的にダウンロードしてインストールすることもできます。

pip では、

必要なパッケージはすべてインストール前にダウンロードする必要があるため、ある部分がインストールされ、他の部分がインストールされないという状況は発生しません

インストールされたすべてのパッケージが追跡されるため、その理由を知ることができます。インストールとアンインストールが同時に行われます。

卵ファイルを使用する必要はありません。

使い方は簡単:

pkg_name をインストール

pkg_name をアンインストールする


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。