pipenv-riespratama
Aries Pratama Wibowo4 Des 2024

Lebih praktis dengan pipenv: virtual environment python sekaligus manajemen paket

Dalam pengembangan perangkat lunak, mengelola virtual environment dan dependensi adalah hal yang krusial untuk memastikan proyek berjalan dengan baik di berbagai sistem. Virtual environment memastikan dependensi yang kita gunakan memiliki versi yang sesuai, tanpa mengganggu environment asli dari mesin yang kita gunakan. Kalian yang biasa bermain dengan Python pasti sudah akrab dengan virtual environment seperti virtualenv atau venv bawaan Python.

Kali ini kita akan membahas salah satu tool yang banyak digunakan, yaitu Pipenv, sebuah tool yang bertujuan untuk mempermudah pengelolaan dependensi dan lingkungan virtual dalam proyek Python. Pipenv dikembangkan dengan tujuan untuk mengatasi beberapa tantangan yang dihadapi oleh pengembang Python terkait dengan pengelolaan paket dan environment. Dengan Pipenv, pengembang dapat dengan mudah membuat virtual environment terisolasi dan memastikan bahwa dependensi proyek terkelola dengan baik.

pipenv-logo

Sejarah Pipenv

Pipenv pertama kali diperkenalkan pada tahun 2017 oleh Kenneth Reitz, seorang developer yang terkenal dalam komunitas Python. Reitz juga dikenal sebagai developer Requests, library HTTP yang populer di Python. Pipenv dikembangkan sebagai tanggapan terhadap masalah-masalah yang dihadapi developer Python dalam mengelola dependensi, seperti:

  • Ketergantungan versi paket yang sering menyebabkan masalah kompatibilitas.
  • Proses pembuatan dan pengelolaan lingkungan virtual yang terpisah.

Pipenv diharapkan menjadi solusi yang lebih efisien dan lebih ramah pengguna dibandingkan dengan menggunakan pip dan virtualenv secara terpisah. Dengan menggunakan Pipenv, pengembang dapat bekerja dengan lebih sederhana dan lebih terstruktur, berkat pengenalan Pipfile dan Pipfile.lock sebagai standar pengelolaan dependensi.

Fungsi Pipenv

Pipenv menawarkan beberapa fungsi utama yang membantu dalam pengelolaan proyek Python:

  1. Pengelolaan Dependensi:
    • Pipenv menggantikan penggunaan requirements.txt dan menyediakan file Pipfile yang lebih terstruktur untuk mendefinisikan dependensi proyek.
    • Dengan menggunakan Pipfile.lock, Pipenv memastikan versi paket yang konsisten dan dapat dipertanggungjawabkan antara berbagai lingkungan pengembangan.
  2. Lingkungan Virtual:
    • Pipenv secara otomatis membuat dan mengelola lingkungan virtual, memungkinkan pengembang untuk mengisolasi dependensi proyek dari sistem Python yang lebih luas.
  3. Keamanan dan Reproduksibilitas:
    • Pipfile.lock memastikan bahwa semua pengembang menggunakan versi dependensi yang sama, menghindari masalah ketidaksesuaian versi.
    • Pipenv mendukung integrasi dengan alat keamanan seperti Safety untuk memeriksa apakah proyek terpengaruh oleh kerentanannya.
  4. Kemudahan Penggunaan:
    • Pipenv mempermudah instalasi dan manajemen paket dengan perintah yang mudah digunakan, menggantikan kombinasi pip dan virtualenv.

Cara Penggunaan Dasar Pipenv

Berikut adalah langkah-langkah dasar untuk mulai menggunakan Pipenv dalam proyek Python:

  1. Instalasi Pipenv Untuk menginstal Pipenv, Anda dapat menggunakan pip:
    pip install pipenv
  2. Membuat Lingkungan Virtual dan Instalasi Dependensi Setelah Pipenv terinstal, Anda dapat mulai mengelola lingkungan virtual dan dependensi dengan mudah. Pertama, masuk ke direktori proyek Anda, lalu jalankan perintah berikut untuk membuat lingkungan virtual dan menginstal dependensi:
    pipenv install
    Jika Anda ingin menginstal dependensi tertentu, misalnya requests, Anda bisa menjalankan:
    pipenv install requests
  3. Menambahkan Dependensi untuk Pengembangan Jika Anda ingin menambahkan dependensi untuk pengembangan (misalnya, pytest), gunakan opsi --dev:
    pipenv install pytest --dev
  4. Mengaktifkan Lingkungan Virtual Untuk mengaktifkan lingkungan virtual dan bekerja dalamnya, jalankan:
    pipenv shell
    Ini akan memasukkan Anda ke dalam shell virtual environment yang terisolasi.
  5. Mengecek Dependensi yang Terinstal Untuk memeriksa daftar dependensi yang sudah terinstal, gunakan:
    pipenv graph
  6. Menghapus Lingkungan Virtual Jika Anda ingin menghapus lingkungan virtual yang ada, cukup jalankan:
    pipenv --rm
  7. Menggunakan Pipfile dan Pipfile.lock
    • Pipfile berisi informasi tentang dependensi utama dan pengembangan.
    • Pipfile.lock mencatat versi yang tepat dari setiap dependensi untuk memastikan kompatibilitas di seluruh lingkungan.
    • Contoh isi Pipfile:

    • [packages]
      requests = "*"
      [dev-packages]
      pytest = "*"

    • Pipfile.lock akan secara otomatis dihasilkan saat Anda menginstal dependensi, dan berfungsi untuk memastikan bahwa setiap orang yang bekerja pada proyek menggunakan versi yang sama.

Kesimpulan

Pipenv adalah alat yang sangat berguna untuk mengelola lingkungan virtual dan dependensi dalam proyek Python. Dengan menyediakan cara yang lebih efisien dan lebih terstruktur dibandingkan dengan penggunaan pip dan virtualenv secara terpisah, Pipenv membantu pengembang Python untuk bekerja lebih produktif dan menghindari masalah terkait ketergantungan dan kompatibilitas. Meskipun ada beberapa pesaing seperti Poetry, Pipenv tetap menjadi pilihan populer, terutama untuk pengembang yang menginginkan solusi sederhana dan integrasi yang baik antara manajemen lingkungan dan dependensi.

Jadi yang paling update, langganan gratis artikel dari riespratama.com langsung ke inbox-mu

Baca Juga:

Koneksikan Android dan Linux via ADB

Bagi pengguna Linux (pada contoh ini Ubuntu), Android Debug Bridge (ADB) adalah salah satu alat wajib jika ingin berinteraksi langsung […]

Read More
Extend Storage Volume Size di Ext4 Setelah Install Zentyal

Beberapa hari lalu saya membuat setup untuk active directory server dan file server dengan menggunakan Zentyal. Sistem disetup di atas […]

Read More
Lima Langkah Mudah Setup Django di Ubuntu

Untuk memulai development aplikasi dengan Django, berikut langkah-langkahnya 1. Cek system requirements Sebelum menginstall Django, kamu perlu tau versi Django […]

Read More
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram
×