requirements.txt
ファイルは、Python プロジェクトの依存関係を指定する簡単な方法です。これは、インストールする Python パッケージとそのバージョンを含むプレーン テキスト ファイルです。
Poetry は、Python プロジェクトの依存関係管理を簡素化するための Python パッケージ管理および依存関係解決ツールです。
目次
要件の使用
requirements.txt是
インストールする Python パッケージとそのバージョンを含むプレーン テキスト ファイル。
使用手順:
(1)リストされたプロジェクトに必要なすべての Python パッケージとそのバージョンを作成します。requirements.txt
文件,
Django==3.2.4
celery==4.4.0
Django==3.2.4
celery==4.4.0
(2)requirements.txt
インストールファイルにリストされている依存関係 (速度が遅すぎる場合は、-i パラメータを使用してミラーイメージを使用して速度を上げることもできます)
pip install -r requirements.txt
(3) 更新: 手動で編集し、install -rrequirements.txt を再 pip するだけです。
(4) アンインストール:
pip uninstall -r requirements.txt
(5) 依存関係は仮想環境にインストールされていますが、requirements.txt
ファイルは作成されていません。次のコマンドを使用すると、requirements.txt
すべてのパッケージとそのバージョンを含むファイルを自動的に生成できます。
pip freeze > requirements.txt
詩の使用
(1) Poetry をインストールします。たとえば、Poetry バージョン 1.1.15 をインストールします。
pip install Poetry==1.1.15
(2) Poetryを使用して新しいPythonプロジェクトを作成する
poetry new my_project
(3) 詩の移動と初期化
cd my_project
poetry init
この時点での pyproject.toml ファイルの内容
(4)依存関係を追加します(django 2.2.28 バージョンの追加など)。
poetry add django==2.2.28
この時点での pyproject.toml ファイルの内容
同時に、プロジェクトの一貫性と再現性を確保するために、poetry.lock ファイルも自動的に作成または更新され、依存関係を追加すると、プロジェクトのすべての依存関係が更新されます。
(5) pyproject.toml を手動で変更する場合は、次のコマンドで依存関係を更新できます。
poetry update
(6)プロジェクトを実行する: Poetry の仮想環境でプロジェクトを実行するには、Poetry が管理する仮想環境でスクリプトが実行されることを確認します。
poetry run python <your_script.py>
たとえば、hello.py ファイルを作成して実行します。
poetry run python my_project/hello.py
(7)パッケージのビルドと公開: Python パッケージをビルドして公開するには、必要なファイルsetup.py
、setup.cfg
およびMANIFEST.in
その他のファイルが自動的に生成され、パッケージが PyPI に公開されます。
poetry build
poetry publish
アドバンテージ
詩の利点:
- 依存関係の解決: Poetry はプロジェクトの依存関係を自動的に解決し、インストールされているパッケージのバージョン間で競合が発生しないようにします。これは
requirements.txt
、各パッケージが手動で管理およびバージョン管理される後者とは異なります。 - ロック ファイル:
poetry.lock
使用されるロック ファイルは、さまざまな環境におけるプロジェクトの一貫性と再現性を保証します。これは、他の環境に依存関係をインストールするときに、Poetry はロック ファイルに記録されているのと同じバージョンを必ず使用することを意味します。 - 環境の分離: Poetry は、仮想環境の自動作成と管理をサポートし、システムによってグローバルにインストールされたパッケージからプロジェクトの依存関係を確実に分離します。これは、グローバル パッケージのバージョンの競合によって引き起こされる問題を回避するのに役立ちます。
- パッケージの公開: Poetry は、Python パッケージを構築して公開する簡単な方法を提供します。
setup.py
、 、setup.cfg
などのファイルを自動的に生成できるためMANIFEST.in
、公開プロセスが簡素化されます。 - 簡素化されたコマンド ライン インターフェイス: Poetry は、プロジェクトの依存関係、仮想環境、およびパッケージ配布を管理するための、クリーンで統合されたコマンド ライン インターフェイスを提供します。
requirements.txt
これにより、依存関係の管理が よりも直感的で一貫性のあるものになります。
要件.txt利点:
- シンプルで使いやすい: プロジェクトの依存関係を簡単かつ直接指定します。追加のツールや構成は必要なく、プレーン テキスト ファイルのみが必要です。
- 幅広いサポート: 多くのサードパーティのツールとサービスでサポートされています。Python エコシステムの互換性に貢献します。
- 学習曲線が低い:このアプローチは、
requirements.txt
と の使用にすでに慣れているpip
開発者にとっては、よりシンプルで馴染みやすいかもしれません。
日々の開発では、詩を選択するか、requirements.txt
プロジェクトの要件と個人的な好みに応じてください。
- 依存関係の自動解決、環境分離、パッケージ公開などのより高度な依存関係管理機能が必要な場合、またはプロジェクトが複雑で、新しいツールを学習して適応する意欲がある場合には、Poetry の方が良い選択となる可能性があります。
requirements.txt
プロジェクトが比較的単純な場合、またはすでにとの使用に慣れている場合はpip
、requirements.txt
引き続き使用する方が便利で実用的です。