Suatu hari kami menerbitkan panduan pemula untuk mengelola paket Python menggunakan PIP . Dalam panduan itu, kami membahas cara menginstal pip, dan cara menginstal, memperbarui, menghapus paket Python menggunakan pip. Kami juga membahas pentingnya lingkungan virtual dan cara membuat lingkungan virtual menggunakan alat venv dan virtualvnv. Hari ini, kita akan belajar tentang pengelola paket python lain bernama pipenv . Ini adalah alat Pengemasan Python baru yang direkomendasikan oleh Python.org. Ini dapat digunakan untuk menginstal dan mengelola dependensi python dengan mudah tanpa harus membuat lingkungan virtual. Pipenv secara otomatis membuat dan mengelola virtualenv untuk proyek Anda. Itu juga menambah/menghapus paket dari Pipfile Anda saat Anda menginstal/menghapus paket.
Mengapa Pipenv?
Pipenv mengatasi masalah waktu nyata berikut:
- Anda tidak perlu lagi membuat lingkungan virtual. Pipenv akan secara otomatis membuat virtualenv untuk proyek Anda. Sederhananya, pip dan virtualenv bekerja bersama.
- Mengelola requirements.txt file bisa bermasalah, jadi Pipenv menggunakan Pipfile dan Pipfile.lock yang akan datang sebagai gantinya, yang lebih unggul untuk kasus penggunaan dasar.
- Ini aman. Hash digunakan di mana-mana, selalu. Mengekspos kerentanan keamanan secara otomatis.
- Lihat grafik ketergantungan kapan saja.
- Rampingkan alur kerja pengembangan dengan memuat file .env.
Baiklah, mari kita mulai.
Instal Pipenv, alat pengemasan Python yang direkomendasikan secara resmi
Ada banyak cara untuk menginstal Pipenv. Kita akan melihat dua metode yang direkomendasikan secara resmi.
1. Menginstal pipenv menggunakan pip
Cara resmi yang direkomendasikan adalah menggunakan pip . Pastikan Anda telah menginstal python dan pip. Jika tidak, lihat panduan kami sebelumnya yang ditautkan di paragraf pertama artikel ini.
Setelah pip terinstal, jalankan perintah berikut untuk menginstal pipenv.
$ pip install --user pipenv
Perintah ini akan menginstal pipenv di tingkat pengguna (yaitu tidak di seluruh sistem). Jika pipenv tidak tersedia di shell Anda setelah menginstalnya, Anda mungkin perlu menambahkan direktori biner basis pengguna ke PATH Anda. Jika Anda tidak tahu apa basis pengguna Anda, jalankan perintah berikut untuk mengetahuinya:
$ python -m site --user-base
Anda akan melihat output seperti di bawah ini.
/home/sk/.local
Seperti yang Anda lihat pada output di atas, direktori basis pengguna saya adalah /home/sk/.local , dan direktori biner basis saya adalah /home/sk/.local/bin . Bersih? Bagus. Sekarang tambahkan ini ke PATH Anda. Untuk melakukannya, edit ~/.profile your Anda berkas:
$ vi ~/.profile
Tambahkan baris ini di akhir:
export PATH="$HOME/.local/bin:$PATH"
Tekan ESC kunci dan ketik :wq untuk menyimpan dan keluar dari file. Kemudian, jalankan perintah berikut untuk menerapkan perubahan.
$ source ~/.profile
Terakhir, jalankan perintah berikut:
$ pipenv --update
Untuk memutakhirkan pipenv kapan saja, jalankan perintah berikut:
$ pip install --user --upgrade pipenv
2. Menginstal pipenv menggunakan pipsi
Pipsi adalah alat canggih yang memungkinkan Anda memasang skrip Python ke dalam lingkungan virtual yang terisolasi.
Untuk menginstal pipsi, jalankan:
$ curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | python
Ikuti petunjuk di layar, Anda harus memperbarui PATH Anda.
Setelah pipsi terinstal, jalankan perintah berikut untuk menginstal pipenv:
$ pipsi install pew $ pipsi install pipenv
Terakhir, jalankan perintah berikut:
$ pipenv --update
Untuk memutakhirkan pipenv kapan saja, jalankan saja:
$ pipsi upgrade pipenv
Kelola paket Python menggunakan Pipenv
Jalankan 'pipenv' di shell Anda untuk menampilkan daftar perintah dan opsi umum yang tersedia.
$ pipenv
Contoh keluarannya adalah:
Menginstal paket
Buat proyek baru atau buka direktori proyek yang ada.
$ mkdir myproject $ cd myproject
Instal paket untuk proyek Anda:
$ pipenv install requests
Saat Anda l ke direktori proyek Anda (yaitu proyek saya dalam kasus ini), Anda akan melihat dua file yaitu Pipfile , dan Pipfile.lock . Pipfile berisi informasi tentang paket yang baru diinstal seperti nama, versi, dll. Anda dapat menggunakan Pipfile ini untuk melacak dependensi mana yang dibutuhkan proyek Anda ketika Anda ingin menginstal ulang atau berbagi proyek dengan orang lain.
$ cat Pipfile
Dan, Pipfile.lock berisi informasi sistem Anda, semua dependensi paket yang diinstal termasuk versinya, dan semua hash untuk semua paket yang diinstal dan dependensinya.
$ cat Pipfile.lock
Sekarang instal paket lain dan periksa kembali isi kedua file. Anda akan melihat bahwa Pidfile sekarang berisi dua paket. Dan, Pidfile.lock berisi semua dependensi dari paket yang diinstal termasuk versinya, dan semua hash untuk semua paket yang diinstal dan dependensinya. Sederhananya, kedua file ini akan diperbarui secara otomatis setiap kali Anda menginstal paket baru.
Apakah kamu menyadari? Saya belum membuat lingkungan virtual apa pun. Pipenv secara otomatis membuat lingkungan virtual untuk proyek saya. Ingin tahu di mana proyek Anda disimpan? Jalankan saja perintah ini untuk mengetahui lokasi lingkungan virtual Anda.
$ pipenv --venv /home/sk/.local/share/virtualenvs/myproject-x7-2XYPN
Untuk melihat detail rumah proyek Anda, jalankan:
$ pipenv --where /home/sk/myproject
Seperti yang Anda bisa di kedua keluaran, "/home/sk/myproject" adalah direktori home proyek saya dan "/home/sk/.local/share/virtualenvs/myproject-x7-2XYPN" adalah lingkungan virtual saya.
Anda dapat "ls" ke virtualenv Anda untuk memeriksa apa yang ada di sana.
$ ls /home/sk/.local/share/virtualenvs/myproject-x7-2XYPN
Perbarui paket
Untuk memperbarui semua paket, jalankan:
$ pipenv update
Perintah ini akan menghapus semua paket, dan menginstal ulang paket ke versi terbaru yang kompatibel.
Memeriksa integritas paket
Apakah Anda khawatir jika ada kerentanan keamanan dalam paket yang diinstal? Tidak masalah! Pipenv mendukung Anda. Untuk memeriksa integritas paket, jalankan perintah berikut:
$ pipenv check Checking PEP 508 requirements… Passed! Checking installed package safety… All good!
Perintah di atas memeriksa kerentanan keamanan dan terhadap penanda PEP 508 yang disediakan di Pipfile.
Melihat grafik ketergantungan
Mari kita jalankan 'pipenv graph' dan lihat apa yang terjadi.
$ pipenv graph
Seperti yang Anda lihat, perintah ini menampilkan grafik ketergantungan.
Copot pemasangan paket
Untuk menghapus sebuah paket, jalankan:
$ pipenv uninstall requests Un-installing speedtest-cli… Uninstalling speedtest-cli-1.0.7: Successfully uninstalled speedtest-cli-1.0.7 Removing speedtest-cli from Pipfile… Locking [dev-packages] dependencies… Locking [packages] dependencies… Updated Pipfile.lock (c23e27)!
Untuk mencopot semuanya, jalankan:
$ pipenv uninstall --all Un-installing all packages from virtualenv… Found 1 installed package(s), purging… Environment now purged and fresh!
Untuk lebih jelasnya, jalankan:
$ pipenv -h
Atau,
$ pipenv --man
Sejauh yang saya uji Pipenv jauh lebih mudah digunakan daripada pip. Karena secara resmi direkomendasikan oleh Python.org, Anda sekarang dapat menyingkirkan venv dan virtualenv sama sekali saat menginstal paket Python.
Bacaan yang disarankan:
- Pipx – Instal Dan Jalankan Aplikasi Python Di Lingkungan Terisolasi