Cara Mengelola Dependensi Python dengan Poetry
Dengan Poetry, mengelola dependensi pada projek Python menjadi lebih mudah dan simpel, jadinya kalian tidak perlu lagi melacak dependensi yang dibutuhkan dengan file requirements.txt
dan membuat Virtual Environment secara manual setiap kali membuat atau menjalankan projek.
Instal Poetry
Poetry dapat diinstal di Linux, Windows, MacOS, bahkan Android (Termux).
Jika kalian menggunakan Linux atau MacOS, dapat menggunakan skrip instalasi resmi dari Poetry.
$ curl -sSL https://install.python-poetry.org | python3 -
Bagi pengguna Arch Linux, kalian bisa menggunakan paket aplikasi Poetry yang dikelola oleh Developer Arch Linux, untuk menginstalnya, jalankan perintah berikut:
$ sudo pacman -S python-poetry
Bagi pengguna Windows, kalian bisa mengikuti instruksi instalasi Poetry dari dokumentasi resmi Poetry.
Membuat Projek
Pertama-tama buatlah projek baru aplikasi berbasis Python menggunakan Poetry:
$ poetry new my-project
Poetry akan membuat projek baru dengan struktur direktori seperti di bawah ini:
├── my_project
│ └── __init__.py
├── pyproject.toml
├── README.md
└── tests
└── __init__.py
Struktur direktori tersebut terdiri atas file bernama pyproject.toml
yang berfungsi untuk melacak dependensi yang diperlukan dan file & direktori lain seperti direktori tests
untuk keperluan testing.
Jika sudah mempunyai projek, kalian dapat menambahkan Poetry pada projek dengan mengikuti perintah berikut ini:
$ cd my-project
$ poetry init
pyproject.toml
pyproject.toml
merupakan file konfigurasi Poetry yang salah satu fungsinya untuk melacak dependensi yang diperlukan.
Isi dari file pyproject.toml
kira-kira seperti ini:
[tool.poetry]
name = "my-project"
version = "0.1.0"
description = ""
authors = ["adityaphra <[email protected]>"]
readme = "README.md"
packages = [{include = "my_project"}]
[tool.poetry.dependencies]
python = "^3.11"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
tool.poetry
terdiri atas informasi metadata projek seperti name, version, dan description yang bisa kalian kustomisasi.tool.poetry.dependencies
terdiri atas dependensi yang diperlukan oleh projek.build-system
terdiri atas spesifikasi bagaimana cara Poetry mem-build projek kalian.
Menambahkan & Menghapus Dependesi
Kalian dapat menambahkan dependensi pada bagian tool.poetry.dependencies
pada file pyproject.toml
secara langsung atau bisa menjalankan perintah poetry add
seperti pada contoh berikut:
$ poetry add requests
Untuk menginstal dependensi dengan versi tertentu:
$ poetry add requests@^2.30
Untuk menghapus dependensi:
$ poetry remove requests
poetry.lock
Setiap kalian menambahkan, menghapus, dan memperbarui dependensi, Poetry akan menghasilkan file bernama poetry.lock
Fungsi file tersebut agar versi dependensi yang digunakan tetap konsisten meskipun diinstal di environment yang berbeda.
Menjalankan Projek Aplikasi
Untuk menjalankan projek aplikasi dengan Poetry, jalankan perintah poetry run
seperti pada contoh berikut ini:
$ poetry run main.py
Instal & Memperbarui Dependensi
Jika file pyproject.toml
sudah ada dan kalian ingin menginstal dependensi di enviroment berbeda, jalankan perintah berikut ini:
$ poetry install
Sedangkan untuk memperbarui dependensi berdasarkan file pyproject.toml
:
$ poetry update