Tampaknya Pipfile / Pipfile.lock dimaksudkan untuk menjadi pengganti untuk requirement.txt, dalam konteks kemasan Python. Tidak ada banyak dokumentasi di luar sana tentang bagaimana ini sebenarnya bekerja, namun. Saya menemukan deskripsi yang berkembang dari pipfile pada bagian PyPi dari situs web Python di sini tapi itu cukup berantakan dan tidak menjelaskan semantik dari berbagai bagian file.
Adakah petunjuk tentang cara memahami file-file ini?
Gemfile
danGemfile.lock
dari dunia Ruby:.lock
File ini memiliki versi spesifik untuk setiap ketergantungan; yang tanpa ekstensi hanya memiliki versi yang dikenal untuk mengendalikan-manusia. Yang mengatakan, meminta penjelasan tentang sesuatu yang masih berkembang dan jauh dari yang terdefinisi dengan baik, apalagi standar, mungkin agak terlalu dini.Pipfile
danrequirements.txt
sebagian besar yang pertama mencoba untuk mengadopsi fitur-fitur dari dunia Ruby, yaitu mampu menentukan set ketergantungan untuk beberapa lingkungan dan dengan kondisi / opsi / dll dalam satu file).Jawaban:
Konsep di balik file-file ini sederhana dan analog dengan alat lain yang sudah ada, jika Anda terbiasa dengan Ruby Bundler atau Node's Npm.
Pipenv
adalah paket dan alat manajemen lingkungan virtual yang menggunakan file Pipfile dan Pipfile.lock untuk mencapai tujuan ini.Pipenv menangani lingkungan virtual untuk Anda dalam satu cara standar standar (tidak diperlukan lagi aktivasi dan nonaktifkan). Di bawah ini, beberapa dasar untuk memulai, lihat lebih banyak di situs web pipenv .
Mulai
Mulai menggunakan pipenv itu mudah, dalam jenis folder proyek Anda ...
... dan jika sudah memiliki
requirements.txt
file, itu akan menghasilkanPipfile
file dengan persyaratan dan folder lingkungan virtual, jika tidak, itu akan menghasilkanPipfile
file kosong . Jika Anda tidak menyukai atau berubah pikiran tentang sesuatu yang telah Anda instal, cukup ketik ...... dan kamu baik untuk pergi. Untuk mengaktifkan lingkungan virtual yang telah dibuat pipenv, lanjutkan dengan ...
... dan lingkungan virtual Anda akan diaktifkan. Untuk meninggalkan lingkungan ...
... dan Anda akan kembali ke sesi terminal asli Anda.
Pipfile
File Pipfile dimaksudkan untuk menentukan persyaratan paket untuk aplikasi atau pustaka Python Anda, baik untuk pengembangan maupun eksekusi. Anda dapat menginstal paket dengan hanya menggunakan ...
... dan itu akan ditambahkan sebagai ketergantungan untuk penyebaran dan eksekusi atau dengan menggunakan ...
... dan itu akan digunakan sebagai ketergantungan untuk waktu pengembangan. Sintaks file cukup lurus ke depan, sebagai berikut.
Pipfile.lock
The Pipfile.lock dimaksudkan untuk menentukan, berdasarkan pada paket hadir di Pipfile , yang versi tertentu dari mereka harus digunakan, menghindari risiko otomatis upgrade paket yang bergantung pada satu sama lain dan melanggar ketergantungan pohon proyek Anda.
Anda dapat mengunci paket yang diinstal saat ini menggunakan ...
... dan alat ini akan mencari folder lingkungan virtual Anda untuk menghasilkan file kunci untuk Anda secara otomatis, berdasarkan versi yang saat ini diinstal. Sintaks file tidak sejelas untuk Pipfile , jadi demi keringkasan, itu tidak akan ditampilkan di sini.
sumber
[[source]]
, seperti apakah sumber paket yang diunduh oleh pipenv atau yang lainnya? Saya kira sisa dua file sudah cukup jelas.Pipfile
. Jika terjadi kerusakan pada peningkatan paket, maka seseorang harus dapat memperbaikinya dengan meninjau riwayat versi paket, dan memang, salah satu pembuat perpustakaan permintaan merekomendasikan melakukannya di sini .--skip-lock
tanda untuk memaksanya mengabaikanPipfile.lock
file daripada memaksanya untuk menggunakannya;)