Apa itu Poetry
Poetry adalah manajer paket modern untuk Python yang menyederhanakan proses pengelolaan dependensi dan pengemasan untuk proyek. Tujuannya adalah menyediakan antarmuka yang ramah pengguna dan intuitif sambil juga mendukung praktik terbaik untuk pengemasan dan distribusi Python.
Dengan Poetry, pengembang dapat dengan mudah mengelola dependensi proyek mereka, membuat lingkungan virtual, dan mengemas proyek mereka untuk distribusi. Ini juga menyediakan fitur seperti resolusi dependensi, semantic versioning, dan file pengunci untuk memastikan build yang dapat direproduksi.
Poetry telah menjadi populer di antara komunitas Python dan dengan cepat menjadi manajer paket pilihan banyak pengembang.
Menginstal Poetry
Anda dapat menginstal Poetry dengan pip. Menginstal Poetry dengan pip adalah proses yang mudah dan melibatkan beberapa langkah sederhana. Sebelum kita mulai, penting untuk dicatat bahwa Poetry adalah manajer paket Python yang kuat yang menyederhanakan instalasi dan pengelolaan dependensi dalam proyek Anda.
Untuk memulai, Anda perlu memiliki pip terinstal di sistem Anda. Jika Anda menggunakan Python 3.4 atau lebih baru, pip seharusnya sudah terinstal. Jika tidak, Anda dapat menginstalnya dengan mengikuti instruksi yang disediakan di situs web resmi Python.
Setelah Anda menginstal pip, Anda dapat melanjutkan dengan instalasi Poetry. Berikut ini cara melakukannya:
- Buka jendela prompt perintah atau terminal dan masukkan perintah berikut:
$ pip install poetry
Perintah ini akan menggunakan pip untuk mengunduh dan menginstal versi terbaru dari Poetry.
- Verifikasi instalasi dengan menjalankan perintah berikut:
$ poetry --version
Perintah ini harus mengembalikan nomor versi Poetry yang baru saja Anda instal.
- (Opsional) Jika Anda mengupgrade Poetry dari versi yang lebih lama, Anda dapat menggunakan perintah berikut untuk memperbarui:
$ pip install --upgrade poetry
Perintah ini akan mengunduh dan menginstal versi terbaru dari Poetry dan menggantikan versi yang lebih lama.
Dengan langkah-langkah sederhana ini, sekarang Anda seharusnya telah menginstal Poetry di sistem Anda dan siap untuk mulai menggunakannya untuk mengelola dependensi dalam proyek Python Anda. Untuk memulai dengan Poetry, Anda dapat memeriksa dokumentasi resmi untuk informasi dan contoh lebih lanjut.
Perintah Poetry dan penggunaan dasar
Poetry menyediakan sejumlah perintah yang memungkinkan Anda dengan mudah mengelola proyek Python, dependensi, dan pengemasan. Berikut adalah gambaran singkat dari beberapa perintah Poetry yang paling sering digunakan dan penggunaannya:
Perintah | Deskripsi |
---|---|
poetry new project-name |
Perintah ini membuat proyek Python baru dengan nama yang ditentukan dan menginisialisasinya sebagai proyek Poetry. |
poetry add package-name |
Perintah ini menambahkan paket yang ditentukan ke dependensi proyek Anda dan menginstalnya. |
poetry remove package-name |
Perintah ini menghapus paket yang ditentukan dari dependensi proyek Anda dan menghapus instalasinya. |
poetry update package-name |
Perintah ini memperbarui paket yang ditentukan ke versi terbaru dan memperbarui dependensi proyek Anda. |
poetry install |
Perintah ini menginstal semua paket yang terdaftar di file pyproject.toml proyek Anda. |
poetry show |
Perintah ini menampilkan daftar semua paket yang terinstal di proyek Anda, beserta versi dan dependensinya. |
poetry shell |
Perintah ini mengaktifkan lingkungan virtual dengan dependensi proyek Anda, memungkinkan Anda untuk bekerja dalam lingkungan yang terisolasi. |
poetry run script-name |
Perintah ini menjalankan skrip yang ditentukan dari file pyproject.toml proyek Anda. |
poetry lock |
Perintah ini menghasilkan file kunci yang menentukan versi tepat dari setiap dependensi yang diperlukan oleh proyek Anda. |
poetry build |
Perintah ini membangun paket yang dapat didistribusikan untuk proyek Anda di direktori "dist". |
Dengan menggunakan perintah sederhana ini, Anda dapat dengan mudah mengelola proyek dan dependensi Python Anda menggunakan Poetry.
Mengelola dependensi dengan Poetry
Mengelola dependensi adalah bagian penting dari pengembangan proyek perangkat lunak, dan Poetry memudahkan untuk mengelola dependensi dalam proyek Python Anda. Poetry adalah manajer paket Python yang kuat yang menyederhanakan instalasi dan pengelolaan dependensi, sehingga Anda dapat fokus pada pengembangan proyek Anda. Berikut cara mengelola dependensi dengan Poetry:
Menambahkan Dependensi
Untuk menambahkan dependensi baru ke proyek Anda, Anda dapat menjalankan perintah berikut:
$ poetry add package-name
Ganti "package-name" dengan nama paket yang ingin Anda instal. Perintah ini akan menginstal paket yang ditentukan dan menambahkannya ke dependensi proyek Anda.
Memperbarui Dependensi
Untuk memperbarui dependensi ke versi baru, Anda dapat menjalankan perintah berikut:
$ poetry update package-name
Ganti "package-name" dengan nama paket yang ingin Anda perbarui. Perintah ini akan memperbarui paket yang ditentukan ke versi terbaru dan memperbarui dependensi proyek Anda.
Menghapus Dependensi
Untuk menghapus dependensi dari proyek Anda, Anda dapat menjalankan perintah berikut:
$ poetry remove package-name
Ganti "package-name" dengan nama paket yang ingin Anda hapus. Perintah ini akan menghapus paket yang ditentukan dari dependensi proyek Anda.
Menampilkan Daftar Ketergantungan
Untuk melihat daftar semua ketergantungan dalam proyek Anda, Anda dapat menjalankan perintah berikut:
$ poetry show
Perintah ini akan menampilkan daftar semua paket yang terinstal di proyek Anda, bersama dengan versi dan ketergantungan mereka.
Membuat Berkas Kunci
Setelah Anda menambahkan semua ketergantungan yang diperlukan ke proyek Anda, Anda dapat menggunakan Poetry untuk membuat berkas kunci yang menentukan versi tepat dari setiap ketergantungan yang dibutuhkan oleh proyek Anda. Untuk membuat berkas kunci, jalankan perintah berikut:
$ poetry lock
Perintah ini akan membuat berkas kunci yang menentukan versi tepat dari setiap ketergantungan yang dibutuhkan oleh proyek Anda, memastikan bahwa proyek Anda selalu menggunakan versi yang tepat dari ketergantungan.
Dengan perintah-perintah sederhana ini, Anda dapat dengan mudah mengelola ketergantungan dalam proyek Python Anda menggunakan Poetry.
pyproject.toml
pyproject.toml adalah file konfigurasi yang digunakan oleh Poetry. File ini berisi metadata tentang proyek Python Anda, serta informasi tentang ketergantungan proyek Anda, persyaratan pembangunan, dan pengaturan lainnya.
Berikut adalah gambaran singkat dari bagian-bagian yang berbeda di pyproject.toml dan apa yang dilakukannya:
Bagian | Deskripsi |
---|---|
[tool.poetry] |
Bagian ini berisi opsi konfigurasi umum untuk Poetry, seperti nama proyek, versi, penulis, dan lisensi. |
[tool.poetry.dependencies] |
Bagian ini mencantumkan ketergantungan yang diperlukan oleh proyek Anda, beserta batasanx versinya. Anda dapat menambahkan atau menghapus ketergantungan menggunakan perintah poetry add dan poetry remove . |
[tool.poetry.dev-dependencies] |
Bagian ini mencantumkan ketergantungan pengembangan yang diperlukan oleh proyek Anda, seperti kerangka pengujian atau alat analisis kode. Ketergantungan ini tidak diperlukan untuk menjalankan proyek Anda, tetapi diperlukan untuk pengembangan dan pengujian. |
[tool.poetry.build-system] |
Bagian ini menentukan sistem pembangunan yang digunakan oleh proyek Anda. Secara default, Poetry menggunakan setuptools, tetapi Anda dapat menggunakan sistem pembangunan lain seperti flit atau poetry. |
[tool.poetry.scripts] |
Bagian ini mencantumkan skrip baris perintah yang disediakan oleh proyek Anda. Skrip ini dapat dieksekusi menggunakan perintah poetry run . |
[tool.poetry.extras] |
Bagian ini memungkinkan Anda untuk menentukan ketergantungan tambahan yang hanya diperlukan dalam situasi tertentu. Misalnya, Anda mungkin menentukan bagian "extras" untuk driver database yang hanya dibutuhkan jika Anda menggunakan database tertentu. |
[build-system] |
Bagian ini digunakan oleh alat pembangunan seperti setuptools untuk menentukan ketergantungan pembangunan dan pengaturan pembangunan lainnya. |
poetry.lock
When you install dependencies using Poetry, it generates a poetry.lock
file that contains information about the exact versions of each package that were installed. This file serves as a record of the specific dependencies that were installed for a particular project, and ensures that the same versions of dependencies are installed each time the project is installed or updated.
Here's how the poetry.lock
file works:
-
Locking Dependencies
When you runpoetry install
, Poetry reads yourpyproject.toml
file and creates a virtual environment for your project. It then installs the required dependencies in the virtual environment, along with their exact versions. This ensures that you have the same versions of dependencies installed across different environments and machines. -
Version Control
Thepoetry.lock
file acts as a version control system for your project's dependencies. It ensures that the same versions of dependencies are installed each time the project is installed or updated, which helps prevent version conflicts and ensures reproducibility. -
Resolving Conflicts
If there are conflicts between dependencies, Poetry uses a sophisticated algorithm to resolve them and ensure that the correct versions of dependencies are installed. Thepoetry.lock
file contains information about how these conflicts were resolved, which can help you troubleshoot any issues that arise. -
Collaboration
Thepoetry.lock
file is essential for collaboration on Python projects. It ensures that all developers have the same versions of dependencies installed, which makes it easier to collaborate and reduces the likelihood of compatibility issues.
Perbandingan antara Poetry dan requirements.txt
Ketika Anda menginstal ketergantungan menggunakan Poetry, ia akan menghasilkan file poetry.lock yang berisi informasi tentang versi tepat dari setiap paket yang terinstal. File ini berfungsi sebagai catatan tentang ketergantungan yang terinstal secara spesifik untuk proyek tertentu, dan memastikan bahwa versi yang sama dari ketergantungan terinstal setiap kali proyek diinstal atau diperbarui.
Berikut cara kerja file poetry.lock:
-
Mengunci Ketergantungan
Ketika Anda menjalankanpoetry install
, Poetry membaca file pyproject.toml dan membuat lingkungan virtual untuk proyek Anda. Kemudian ia menginstal ketergantungan yang diperlukan di lingkungan virtual, bersama dengan versi yang tepat. Hal ini memastikan bahwa Anda memiliki versi yang sama dari ketergantungan yang terinstal di berbagai lingkungan dan mesin. -
Kontrol Versi
File poetry.lock berfungsi sebagai sistem kontrol versi untuk ketergantungan proyek Anda. Ia memastikan bahwa versi yang sama dari ketergantungan terinstal setiap kali proyek diinstal atau diperbarui, yang membantu mencegah konflik versi dan memastikan reproduktibilitas. -
Menyelesaikan Konflik
Jika terdapat konflik antara ketergantungan, Poetry menggunakan algoritma canggih untuk menyelesaikannya dan memastikan bahwa versi yang benar dari ketergantungan terinstal. File poetry.lock berisi informasi tentang bagaimana konflik tersebut dipecahkan, yang dapat membantu Anda mengatasi masalah yang muncul. -
Kolaborasi
File poetry.lock sangat penting untuk kolaborasi pada proyek Python. Ia memastikan bahwa semua pengembang memiliki versi yang sama dari ketergantungan yang terinstal, yang memudahkan untuk berkolaborasi dan mengurangi kemungkinan masalah kompatibilitas.
Referensi