7 days of WordPress plugins, themes & templates - for free!* Unlimited asset downloads! Start 7-Day Free Trial
Advertisement
  1. Code
  2. Python

Meninjau Kemasan Python Dengan Pipenv

Scroll to top
Read Time: 7 mins

Indonesian (Bahasa Indonesia) translation by Febri Ardian Sanjoyo (you can also view the original English article)

Ikhtisar

Python adalah salah satu bahasa paling ramah namun paling kuat di luar sana. Sangat mudah bagi pemula untuk mengambinya, namun belum mengemas pukulan yang kuat dan digunakan secara luas dalam berbagai domain seperti pemrograman ilmiah, pemrograman aplikasi web, dan DevOps. Tetapi salah satu poin terlemah dari Python adalah dukungannya untuk mengemas aplikasi yang rumit dan ketergantungannya.

Selama bertahun-tahun, ada banyak upaya untuk memperbaiki situasi. Pada bulan Agustus 2017, saya menulis tutorial tentang keadaan seni dalam kemasan Python: Cara Menulis, Paket, dan Mendistribusikan Library dengan Python.

Sudah empat bulan, dan ada pemain baru di kota. Pipenv sekarang adalah alat yang secara resmi direkomendasikan untuk dikemas oleh PyPA (Python Packaging Authority). Dalam tutorial ini Anda akan belajar mengapa Pipenv secara signifikan meningkatkan keadaan pengemasan dan alur kerja pengembangan secara keseluruhan untuk pengembang Python dan bagaimana menggunakannya secara efektif.

Python Dev Workflow untuk Manusia

Tujuan dari Pipenv adalah untuk meningkatkan alur pengembangan pengembang Python ketika datang untuk mengelola dependensi dan lingkungan virtual. Ini adalah library lain yang bagus dari Kenneth Reitz yang rajin, yang dikenal sebagian besar untuk paket request (HTTP untuk manusia), tetapi menulis beberapa paket bagus lainnya.

Apakah Kita Membutuhkan Packaging Tool Lainnya?

Ya, kami lakukan! Pipenv mengambil satu halaman dari praktik manajemen paket modern dan mengimpornya ke dunia Python.

Memasang Pipenv

Anda dapat menginstal Pipenv dengan pip install pipenv. Anda akan mendapatkan hasil yang bagus dengan emoji:

$ curl https://github.com/pypa/pipenv/blob/master/get-pipenv.py | python> requests = "*". Ini menggunakan TOML sebagai formatnya, yang merupakan pilihan populer saat ini untuk file konfigurasi (Rust's Cargo, Python PEP-518). . pipenv graphe> run dan shell. . pipenv run python <your program>.py untuk menjalankan program Anda, dan Anda menggunakan pipenv shell untuk memulai shell baru dengan virtual enbironment Python interpreter. Berikut adalah cara menggunakan perintah shell untuk memulai sesi Python interaktif yang menggunakan request package yang terinstal untuk mendapatkan kutipan dari REST API. Virtual environment diaktifkan, dan meluncurkan Python menggunakan interpreter yang tepat di mana requests tersedia.e. pipenv install -r <pipenv/to/requirments.txt.>. pipenv install. Setelah Anda memverifikasi bahwa semuanya berjalan sesuai harapan, Anda dapat menghapus file requirements.txt Anda.e. Anda dapat memberi tahu Pipenv untuk menginstal path yang dapat diedit. Ini berguna ketika Anda bergantung pada paket yang Anda kembangkan dan ingin bergantung pada paket sumber Anda tanpa menginstalnya setiap kali Anda membuat perubahan. Secara khusus, ini berguna untuk direktori saat ini ketika Anda aktif bekerja di dalamnya. Untuk melakukan itu, gunakan tanda -e dan --dev:gs: Anda harus memiliki file setup.py yang tepat.le.
Anda sudah melihat banyak hal yang Pipenv dapat lakukan untuk Anda. Mari menggali lebih dalam beberapa perintah dan opsi tambahan.ns. Perintah pipenv install mendukung beberapa opsi:ns:
    < --dev: Instal kedua paket develop dan default dari Pipfile.lock.ck. < --system: Gunakan perintah pip sistem daripada yang dari virtualenv Anda.nv. < --ignore-pipfile: Abaikan Pipfile dan instal dari Pipfile.lock.ck. < --skip-lock: Abaikan Pipfile.lock dan instal dari Pipfile. Selain itu, jangan menulis Pipfile.lock yang mencerminkan perubahan ke Pipfile. e.
Bergantung pada alur kerja dan preferensi Anda, Anda mungkin ingin menggunakan satu atau lebih dari opsi ini pada waktu yang berbeda.es. Untuk menghapus dependency, ketik: pipenv uninstall <package name>. Sebagai contoh:le: Perhatikan bahwa saya tidak harus menentukan "requests == 2.8.14" saat uninstall, meskipun disematkan di Pipfile.le. Jika Anda ingin menghasilkan snapshot dari dependensi Anda saat ini (misalnya sebelum rilis), gunakan perintah key. Ini adalah key untuk membangun deterministik dan berulang: pipenv lock --pra.e>. Pipenv luar biasa, tetapi Anda dapat membersihkan beberapa virtual environment Anda dari waktu ke waktu. Ini sesederhana pipenv --rm.e>. Pipfile.lock memanfaatkan beberapa perbaikan keamanan baru yang bagus di pip. Secara default, Pipfile.lock akan dihasilkan dengan hash sha256 dari setiap paket yang diunduh. Ini akan memungkinkan pip untuk menjamin Anda menginstal apa yang Anda inginkan ketika di jaringan yang disusupi atau mengunduh dependensi dari endpoint PyPI yang tidak dapat dipercaya.nt. Selain itu, Pipenv menyediakan perintah check, yang memeriksa penyesuaian dengan PEP 508 - Spesifikasi dependensi untuk Paket Perangkat Lunak Python serta keamanan paket:ty: Pipenv akhirnya membawa kemasan Python ke garis depan pengembangan perangkat lunak modern. Dibutuhkan inspirasi dari sistem manajemen dependensi sukses lainnya seperti Rust's Cargo dan Javascript's Yarn. n. Kawin virtual environment dan manajemen paket dan memberikan pengalaman unggul dengan pesan informasi yang indah dan berwarna-warni, dan praktik terbaik implisit! Saya sangat menyarankan Anda mulai menggunakan Pipenv untuk mengelola proyek Python Anda.ts. Selain itu, jangan ragu untuk melihat apa yang kita miliki untuk dijual dan untuk belajar di Envato Market, dan jangan ragu untuk mengajukan pertanyaan dan memberikan feedback Anda yang berharga menggunakan feedback di bawah ini.ow.
Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.