「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Django プロジェクトで Poetry を使用する方法

Django プロジェクトで Poetry を使用する方法

2024 年 11 月 1 日に公開
ブラウズ:557

まず、コンピュータに詩をインストールする必要があります。これを行うには多くの方法がありますが、私は brew (brew install quote) を使用してダウンロードしました。 Poetry 自身のサイトから適切な方法でダウンロードできます。

しかし、まず詩とは何か、そしてそれが virtualenv とどのように違うのかを簡単に見てみましょう

Poetry は、Python プロジェクトと依存関係を管理するためのツールであり、パッケージ管理とプロジェクト構造の処理を容易にします。これにより、開発者は依存関係の定義と管理、仮想環境の作成、プロジェクトのバージョン管理をすべて簡単な方法で行うことができます。

venv との違い:

  • VirtualEnv: venv は、依存関係がグローバル環境とは別にインストールされる、分離された仮想環境を作成するための標準 Python モジュールです。ただし、venv はプロジェクトの依存関係をそれ自体で管理しません。通常、依存関係をインストールし、手動で追跡するには pip などを使用する必要があります。

  • Poetry: 一方、Poetry は仮想環境を作成するだけでなく、依存関係の管理も自動化します。 pyproject.toml ファイルを使用して、依存関係、バージョン、プロジェクト構成を追跡します。 Poetry では、バージョン管理とパッケージ化を処理することにより、Python パッケージの公開も簡素化されます。

要約すると、venv は分離された環境を作成しますが、Poetry は依存関係の解決やパッケージ化ツールを含む、より包括的なプロジェクト管理ソリューションを提供します。

Poetry をインストールしたら、Django プロジェクトを作成しましょう:

thehormat@Pawn Desktop % mdkir DjangoPoetry
thehormat@Pawn DjangoPoetry % cd DjangoPoetry 
thehormat@Pawn DjangoPoetry % poetry init

This command will guide you through creating your pyproject.toml config.

Package name [djangopoetry]:  DjangoPoetry 
Version [0.1.0]:  
Description []:  We learn Poetry
Author [HormatHamidov , n to skip]:  TheHormat
License []:  
Compatible Python versions [^3.12]:  

Would you like to define your main dependencies interactively? (yes/no) [yes] no
Would you like to define your development dependencies interactively? (yes/no) [yes] no 
Generated file

[tool.poetry]
name = "djangopoetry"
version = "0.1.0"
description = "We learn Poetry"
authors = ["TheHormat"]
readme = "README.md"

[tool.poetry.dependencies]
python = "^3.12"


[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"


Do you confirm generation? (yes/no) [yes]  

そうすると、次のようなファイルができます:
How to use Poetry in Django project

わかりました。次に進みましょう。 Django をプロジェクトに追加する必要があります。しかし、その前に、virtualenv ロジックと同様に、まず詩をアクティブにする必要があります:

thehormat@Pawn DjangoPoetry % poetry shell
Creating virtualenv djangopoetry-5djS955q-py3.12 in /Users/thehormat/Library/Caches/pypoetry/virtualenvs
Spawning shell within /Users/thehormat/Library/Caches/pypoetry/virtualenvs/djangopoetry-5djS955q-py3.12
thehormat@Pawn DjangoPoetry % emulate bash -c '. /Users/thehormat/Library/Caches/pypoetry/virtualenvs/djangopoetry-5djS955q-py3.12/bin/activate'
(djangopoetry-py3.12) thehormat@Pawn DjangoPoetry % 

(djangopoetry-py3.12) thehormat@Pawn DjangoPoetry %

⬆️ ターミナルにこの結果が表示されたら、詩はアクティブです。

次に、Django をプロジェクトに追加しましょう:

(djangopoetry-py3.12) hormathamidov@Pawn DjangoPoetry % poetry add django
Using version ^5.1.2 for django

Updating dependencies
Resolving dependencies... (0.3s)

Package operations: 3 installs, 0 updates, 0 removals

  - Installing asgiref (3.8.1)
  - Installing sqlparse (0.5.1)
  - Installing django (5.1.2)

Writing lock file

Toml ファイルにそのような斬新な点が見られます。これは、django:
が正常にセットアップされたことを意味します。

[tool.poetry.dependencies]
python = "^3.12"
django = "^5.1.2"

そして最後に、通常の方法で django をインストールして実行できるようになりました:

(djangopoetry-py3.12) thehormat@Pawn DjangoPoetry % django-admin startproject core .
(djangopoetry-py3.12) thehormat@Pawn DjangoPoetry % python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
October 14, 2024 - 18:22:05
Django version 5.1.2, using settings 'core.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

驚くべき結果がここにあります:
How to use Poetry in Django project

私は Poetry を少し手助けしたいと思いました。Poetry 自身のドキュメントから詳細を学ぶことができます。

結論

?パニックになる必要はありません。詳細な検索を行った後、簡単に見つけて修正できます。

?️ 出発する前に… ご質問/ご提案/ご意見がございましたら、下記までご連絡ください。

これを楽しんでいただけた場合は、素敵な絵文字 (?❤️‍?) を使って感想を教えてください。今後の最新情報を受け取るためにフォローすることを忘れないでください。

私からは以上です。すぐに話しましょう!

— ホーマット ♟️

リリースステートメント この記事は、https://dev.to/thehormat/how-to-use-poetry-in-django-project-43n1?1に再現されています。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3