ホームページ  >  記事  >  バックエンド開発  >  Python パッケージの使用方法を調べる

Python パッケージの使用方法を調べる

WBOY
WBOYオリジナル
2023-09-02 12:25:071235ブラウズ

探索 Python 包的使用

Python パッケージを使用すると、大規模なシステムを分割し、一貫した方法でモジュールを編成できるため、自分や他の人が効率的に使用および再利用できるようになります。 Python のモットーである「バッテリー内蔵」は、標準ライブラリに多くの便利なパッケージがプリインストールされていることを意味します。

しかし、多くの素晴らしいサードパーティ ソフトウェア パッケージを利用することもできます。このチュートリアルでは、パッケージとは正確には何なのか、パッケージからモジュールをインポートする方法、Python 標準ライブラリの組み込みパッケージを探索する方法、サードパーティ パッケージをインストールする方法について知っておくべきことをすべて学びます。

パッケージとは何ですか?

パッケージについて説明する前に、まずモジュールについて説明しましょう。モジュールは、拡張子 *.py を持つソース ファイルで、ここにプログラムを構成する関数とクラスを配置します。

Python のパッケージは、複数の Python ファイルを含む単なるフォルダーであり、__init__.py ファイルが存在する必要があります。 __init__.py ファイルは、ディレクトリがパッケージであることを示します。 __init__.py ファイルは空の場合もあれば、実行可能コードが含まれている場合もあります。

Package は、Python の階層名前空間の概念を具体化したものです。 Python の禅の引用:

「名前空間は素晴らしいアイデアです。もっと使いましょう!」

Python Zen 全体を表示するには、Python インタラクティブ セッションで import this:

と入力します。 リーリー ​

名前空間はコードを整理し、名前の競合を防ぐのに役立ちます。これは、複数の人が一緒に作業したり、他の人が開発したパッケージを使用したりする場合に非常に重要です。

パッケージはサブパッケージとモジュール (ファイル) の階層を表しますが、階層はファイル システムに基づく必要はなく、パッケージとサブパッケージはディレクトリとサブディレクトリになります。それよりもはるかに柔軟です。

Python パッケージの作成

簡単な例から始めましょう。以下に、2 つの Python モジュールを含む simple_package というパッケージがあります。

リーリー
  • __init__.py: パッケージであることを示します
  • tasks.pyviews.py はモジュール
  • です

サードパーティ ソフトウェア パッケージ

ansible という名前のパッケージを見てみましょう。標準ライブラリのパッケージではありません。サードパーティのパッケージを見つけてインストールする方法については後ほど説明します。次に、ディレクトリファイル構造を見てみましょう。

これらのパッケージは通常、Python インタープリターのサイトパッケージ ディレクトリの lib 下のどこかにインストールされます (バージョン、オペレーティング システム、およびディストリビューションによって異なります)。

たとえば、Mac では、Python 3.10 は /lib/python3.10/site-packages にあります。 ansible パッケージがどのように構成されているかは次のとおりです:

リーリー ​

6 つのモジュールと 18 のディレクトリがあります。各ディレクトリは、メインの ansible パッケージのサブパッケージです。 ansible/utils ディレクトリを見ると、他のモジュールやサブパッケージが含まれていることがわかります。 リーリー ​

検索パス

モジュールをインポートすると、Python は検索パス (検索を開始するディレクトリのリスト) に基づいて検索アルゴリズムを実行します。検索パスは、

sys.path を通じて使用できるディレクトリのリストであり、動的に操作 (検索パス内の項目の追加、削除、または移動) できます。 site-packages ディレクトリは常に存在します。

path.py モジュールを ansible/utils からインポートするには、次のコマンドを使用する必要があります: リーリー

path モジュールと encrypt モジュールをインポートするには、次のコマンドを使用します: リーリー

標準の os.path モジュールも使用したい場合は、次のコマンドを使用します。

リーリー

これで、パス モジュールの一方または両方を、それらが属する名前空間によって競合することなく使用できるようになりました。

標準ライブラリの探索

標準ライブラリには多くのパッケージがあります。タスクを完了する必要があるが、その方法がわからない場合は、検討してみる価値があります。数学、シェルの統合、オペレーティング システムの統合、文字列操作、ネットワーク、一般的なファイル形式などの一般的なタスクについては、適切に設計され、パフォーマンスが高く、十分にテストされたパッケージが標準ライブラリに存在する可能性が高くなります。

標準ライブラリに入るのは大変なことなので、標準ライブラリ パッケージは本当に信頼できます。このパッケージは、コア Python 開発者によって設計されたか、標準ライブラリに組み込まれる前に厳しく精査され、サードパーティ ライブラリとして現場​​で頻繁に使用されました。

以下は、標準ライブラリ内のすべてのパッケージをトピック別にまとめたものです。

PyPI

標準ライブラリは優れていますが、標準ではない必要な特別な機能が存在することがよくあります。これは、最初から作成する必要があるという意味ではありません。 Python には、大量のコードを無料で開発および共有する活気に満ちたアクティブなコミュニティがあります。 「PyPI: Python パッケージ インデックス」と入力します。 PyPI は、公開されているすべてのソフトウェア パッケージをホストし、それらを閲覧するためのワンストップ ショップを提供します。

浏览 PyPI

PyPI 将包组织在可浏览的索引中。您可以按主题、环境、框架、开发、状态、目标受众、许可证、自然语言、编程语言(是的,有支持多种编程语言的 Python 包)和操作系统来浏览和搜索。

截至 2021 年,PyPI 不再显示软件包的下载统计信息,因为维护统计信息所需的资源导致其效率低下。

安装软件包

有两种方法可以从 PyPI 安装软件包。您可以下载该软件包,然后运行 ​​python setup.py install。但现代的方法是使用 pip、setuptools 和wheel。

从 Python 3.4 和 Python 2.79 开始默认包含 Pip 和 setuptools,但您需要升级到最新版本:

  • Linux/macOS:pip install -U pip setuptools
  • Windows:python -m pip install -U pip setuptools
但是,不再支持 Python 2,因此您应该已经使用 Python 3.0 或更高版本来提高性能。

使用pip安装wheel:

pip install wheel.

要使用 pip 安装软件包,请发出此命令。

pip install <package_name>

其中 package_name 是包的名称。例如,要安装 Ansible,命令如下所示:

pip install ansible

如果需要特定版本,也可以指定如下:

pip install ansible==7.0

Python 包始终安装到环境中。我在这里不会介绍的一种常见做法是使用虚拟环境来管理具有不同解释器和/或不同安装包集的多个独立的 Python 安装。您可以在此处阅读有关虚拟环境的更多信息。

最佳实践

Python 打包权威提供了大量有关打包最佳实践的指导。这很重要,因为这是一个正在积极开发的领域,并且建议会快速发展。

此外,如果您想做一些特别的事情,例如从替代存储库而不是 PyPI 安装软件包或以更复杂的方式使用 pip,您会发现精彩的讨论和实用的建议。

结论

当您是 Python 初学者时,您会学习核心语言并享受使用它的乐趣。很快您就会发现标准库,并且随着您获得更多经验,您会从它的丰富性中受益越来越多。

作为 Pythonista,您发展的下一阶段是将 Python 社区在 PyPI 上带来的巨大优势融入到您的系统中。包作为可重用 Python 代码的部署单元使这个生态系统得以实现。

以上がPython パッケージの使用方法を調べるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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