Python パッケージを使用すると、大規模なシステムを分割し、一貫した方法でモジュールを編成できるため、自分や他の人が効率的に使用および再利用できるようになります。 Python のモットーである「バッテリー内蔵」は、標準ライブラリに多くの便利なパッケージがプリインストールされていることを意味します。
しかし、多くの素晴らしいサードパーティ ソフトウェア パッケージを利用することもできます。このチュートリアルでは、パッケージとは正確には何なのか、パッケージからモジュールをインポートする方法、Python 標準ライブラリの組み込みパッケージを探索する方法、サードパーティ パッケージをインストールする方法について知っておくべきことをすべて学びます。
パッケージについて説明する前に、まずモジュールについて説明しましょう。モジュールは、拡張子 *.py
を持つソース ファイルで、ここにプログラムを構成する関数とクラスを配置します。
Python のパッケージは、複数の Python ファイルを含む単なるフォルダーであり、__init__.py
ファイルが存在する必要があります。 __init__.py
ファイルは、ディレクトリがパッケージであることを示します。 __init__.py
ファイルは空の場合もあれば、実行可能コードが含まれている場合もあります。
Package は、Python の階層名前空間の概念を具体化したものです。 Python の禅の引用:
「名前空間は素晴らしいアイデアです。もっと使いましょう!」
Python Zen 全体を表示するには、Python インタラクティブ セッションで import this
:
名前空間はコードを整理し、名前の競合を防ぐのに役立ちます。これは、複数の人が一緒に作業したり、他の人が開発したパッケージを使用したりする場合に非常に重要です。
パッケージはサブパッケージとモジュール (ファイル) の階層を表しますが、階層はファイル システムに基づく必要はなく、パッケージとサブパッケージはディレクトリとサブディレクトリになります。それよりもはるかに柔軟です。
簡単な例から始めましょう。以下に、2 つの Python モジュールを含む simple_package
というパッケージがあります。
ansible という名前のパッケージを見てみましょう。標準ライブラリのパッケージではありません。サードパーティのパッケージを見つけてインストールする方法については後ほど説明します。次に、ディレクトリファイル構造を見てみましょう。
これらのパッケージは通常、Python インタープリターのサイトパッケージ ディレクトリの lib 下のどこかにインストールされます (バージョン、オペレーティング システム、およびディストリビューションによって異なります)。
たとえば、Mac では、Python 3.10 は
6 つのモジュールと 18 のディレクトリがあります。各ディレクトリは、メインの ansible パッケージのサブパッケージです。 ansible/utils ディレクトリを見ると、他のモジュールやサブパッケージが含まれていることがわかります。 リーリー
検索パスsys.path を通じて使用できるディレクトリのリストであり、動的に操作 (検索パス内の項目の追加、削除、または移動) できます。 site-packages ディレクトリは常に存在します。
path.py モジュールを ansible/utils からインポートするには、次のコマンドを使用する必要があります: リーリー
path モジュールと
encrypt モジュールをインポートするには、次のコマンドを使用します:
リーリー
リーリー
これで、パス モジュールの一方または両方を、それらが属する名前空間によって競合することなく使用できるようになりました。標準ライブラリの探索
標準ライブラリに入るのは大変なことなので、標準ライブラリ パッケージは本当に信頼できます。このパッケージは、コア Python 開発者によって設計されたか、標準ライブラリに組み込まれる前に厳しく精査され、サードパーティ ライブラリとして現場で頻繁に使用されました。
以下は、標準ライブラリ内のすべてのパッケージをトピック別にまとめたものです。
PyPI
PyPI 将包组织在可浏览的索引中。您可以按主题、环境、框架、开发、状态、目标受众、许可证、自然语言、编程语言(是的,有支持多种编程语言的 Python 包)和操作系统来浏览和搜索。
截至 2021 年,PyPI 不再显示软件包的下载统计信息,因为维护统计信息所需的资源导致其效率低下。
有两种方法可以从 PyPI 安装软件包。您可以下载该软件包,然后运行 python setup.py install
。但现代的方法是使用 pip、setuptools 和wheel。
从 Python 3.4 和 Python 2.79 开始默认包含 Pip 和 setuptools,但您需要升级到最新版本:
pip install -U pip setuptools
python -m pip install -U pip setuptools
使用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 サイトの他の関連記事を参照してください。