Hai teman saya!
Saya akan berasumsi bahwa pip dan virtualenv masih digunakan untuk mengontrol lingkungan Python di proyek Anda.
Jika demikian, izinkan saya memberi tahu Anda tentang alat seperti Pipenv.
Pipenv adalah alat modern untuk mengelola lingkungan kerja dengan Python.
Fitur utama dari pipenv:
- Menciptakan dan mengelola lingkungan virtual
- Sinkronisasi paket pipfile selama instalasi dan penghapusan paket
- Memuat variabel lingkungan secara otomatis dari file .env
Sebagai contoh yang baik, bandingkan menggunakan pip dan virtualenv dengan pipenv untuk membuat lingkungan virtual:
pip dan virtualenv
$ virtualenv venv $ source venv/bin/activte $ pip install Flask gunicorn $ pip freeze > requirements.txt
pipenv
$ pipenv install Flask gunicorn
Memulai
Instal versi terbaru dari pipenv:
$ pip install pipenv
Manajemen lingkungan kerja
Mari kita pergi ke direktori dengan proyek Python dan menciptakan lingkungan virtual yang menentukan versi penerjemah:
$ cd yourproject $ pipenv --python 3.7
Tim akan secara otomatis membuat lingkungan virtual baru untuk proyek Anda jika belum ada.
Anda dapat mengaktifkan lingkungan virtual proyek dengan mengeksekusi perintah shell
:
$ pipenv shell
Untuk keluar dari shell lingkungan virtual, gunakan exit
:
$ exit
Manajemen Ketergantungan Aplikasi
Untuk menginstal paket, gunakan perintah install
:
$ pipenv install Flask
Pipenv akan menginstal versi terbaru dari paket Flask
dan secara otomatis menambahkannya ke Pipfile.
Selama instalasi, kami dapat menentukan versi spesifik dari paket:
$ pipenv install Flask==1.0.2
Para pengembang alat ini juga berupaya bekerja dengan lingkungan pengembangan - paket yang diperlukan pada tahap perakitan atau aplikasi pengujian.
Jika Anda menentukan flag --dev
, paket akan diinstal sebagai bagian dari lingkungan pengembangan:
$ pipenv install pytest --dev
Untuk menginstal semua paket, termasuk paket lingkungan pengembangan, Anda harus menjalankan:
$ pipenv install --dev
Untuk menghapus paket, ada perintah uninstall
:
$ pipenv uninstall Flask
Informasi tentang paket yang diinstal dan dependensinya disimpan dalam file Pipfile.lock, yang dihasilkan secara otomatis dan tidak boleh diubah oleh pengguna.
Menjalankan kode sumber
Dimungkinkan untuk menjalankan kode sumber di dalam shell virtualenv:
$ pipenv run python yourapplication.py
Jika ada file $ pipenv shell
, perintah $ pipenv shell
dan $ pipenv run
akan secara otomatis memuat variabel lingkungan darinya:
$ cat .env DEBUG=1 $ echo $DEBUG 1
Penerapan Aplikasi
Pipenv memungkinkan Anda untuk menginstal dependensi pada sistem induk dengan menentukan flag --system
:
$ pipenv install --system
Ini berguna saat menempatkan aplikasi ke Docker.
Jika Anda menentukan flag --deploy
, pipenv akan menampilkan kesalahan jika Pipfile.lock tidak digunakan lagi atau versi Python tidak cocok dengan yang ditentukan.
Contoh Dockerfile untuk bekerja dengan pipenv:
FROM python:3.7 RUN pip3 install pipenv WORKDIR /usr/src/app COPY Pipfile ./ COPY Pipfile.lock ./ RUN set -ex && pipenv install
Contoh aplikasi Flask menggunakan fitur Pipenv : github.com/fdhadzh/flask-pipenv-example .