GNU/Linux >> Belajar Linux >  >> Linux

Pipenv – Alat Pengemasan Python yang Direkomendasikan Secara Resmi

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

Linux
  1. Cara menginstal Python di Linux

  2. Bagaimana cara menginstal PhantomJS untuk digunakan dengan Python Selenium di Raspberry Pi?

  3. Cara yang disarankan untuk menginstal beberapa versi Python di Ubuntu 20.04

  1. Instalasi PIP alat pengemasan Python di RHEL 7 Linux

  2. Cara menginstal Python di Linux Mint 20

  3. Bagaimana Cara Menginstal R 3.3.1 Di Direktori Sendiri?

  1. Tujuan Perintah 'instal'?

  2. Cara Menginstal Distribusi Python Anaconda di Ubuntu 16.04

  3. Instal tkinter untuk Python