
Manajemen ketergantungan? Shaw, lagi?
Ekosistem Python telah melahirkan banyak cara untuk mengelola dependensi dalam proyek.
Saat ini Anda dapat memilih antara setup.py, requirement.txt, setup.cfg, MANIFEST.in dan Pipfile.
Tetapi pythonist Perancis Sébastien Eustace tidak mengerjakan semua metode ini, dan ia menulis sendiri untuk pengelolaan paket hewan peliharaan - Puisi . Kenapa dia melakukan ini? Untuk mengganti semua setup.py ini, requirement.txt, setup.cfg, MANIFEST.in dan Pipfile dengan sesuatu yang sederhana dan mudah. Ditambah menambahkan sesuatu yang bermanfaat di atas.

Puisi memungkinkan Anda mengarahkan banyak hal sekaligus - versi bahasa dalam proyek Anda, dependensi, jalur pluggable, skrip uji / pengembangan, build dan penerbitan build. Semua jalur, dependensi dan skrip yang diperlukan dijelaskan dalam file pyproject.toml khusus.
Puisi bekerja paling baik ketika dipasangkan dengan pyenv , sistem untuk mengelola beberapa versi Python dan lingkungan virtual.
Rasakan
Gulung lengan baju kami dan lihat bagaimana puisi bekerja dalam bisnis. Hal pertama yang harus dilakukan adalah meletakkan pyenv , mengikuti instruksi resmi di dermaga.
Lingkungan diinstal dan dikonfigurasi, dependensi dikendalikan dengan satu jari, Anda dapat memotong kode!
Kemungkinan besar Anda akan memiliki perintah proyek untuk meluncurkan server, pekerja, skrip penerapan, dan pengujian. Anda dapat menempatkan mereka di pyproject.toml dan juga mengarahkan mereka dengan satu jari.
Tambahkan ke file
my-script = "my_module:main"
dan sekarang Anda dapat menjalankan skrip dengan perintah
poetry run my-script
Kenapa ini semua?
Menghabiskan selusin menit untuk menguasai hal ini, Anda akan menghemat waktu dan saraf dalam mengelola versi bahasa dan paket, melacak dependensi dan mengatur jalur. Ini terutama akan membantu mereka yang setidaknya sekali mencoba mempublikasikan perkembangan mereka di pip :)
- Penyelesai dependensi yang mampu selalu menemukan solusi untuk paket konflik versi (jika ada sama sekali)
- Secara otomatis membuat kotak pasir untuk menjalankan proyek.
- Utilitas konsol yang bagus yang sangat menyederhanakan peluncuran, pengujian, dan proyek penerapan.
Puisi bersahabat dengan pengontrol lingkungan virtual lainnya, jadi mengintegrasikan pendekatan baru ke dalam proyek lama akan sangat mudah.