Rumah >pembangunan bahagian belakang >Tutorial Python >Memperkenalkan uv: Pengurus Pakej Python Generasi Seterusnya
Evolusi Python berkait rapat dengan kemajuan dalam pengurusan pakej, daripada pemasangan manual kepada alatan seperti pip dan puisi. Walau bagaimanapun, apabila projek berkembang dalam kerumitan, alat tradisional sering kali gagal dalam kelajuan dan kecekapan.
uv ialah pakej Python yang canggih dan pengurus projek yang dibina dengan Rust, bertujuan untuk mengubahnya. Menggabungkan kefungsian alatan seperti pip, puisi dan virtualenv, uv memperkemas tugas seperti pengurusan pergantungan, pelaksanaan skrip dan pembinaan projek—semuanya dengan prestasi yang luar biasa. Keserasian lancarnya dengan arahan pip, tidak memerlukan keluk pembelajaran tambahan.
Dalam tutorial ini, kami akan meneroka cara memasang uv dan memanfaatkan sepenuhnya ciri-cirinya. Daripada menyediakan projek dan mengurus kebergantungan kepada menjalankan skrip dan memanfaatkan antara muka pip yang dipertingkatkan.
Pip ialah sistem pengurusan pakej yang digunakan secara meluas yang ditulis dalam Python, direka untuk memasang dan mengurus pakej perisian. Walau bagaimanapun, walaupun popular, ia sering dikritik kerana menjadi salah satu alat pengurusan pakej paling lambat untuk Python. Aduan tentang "pemasangan pip menjadi perlahan" adalah perkara biasa sehingga ia kerap muncul dalam forum dan urutan pembangun.
Satu kelemahan ketara pip ialah kecenderungannya terhadap bau ketergantungan, yang berlaku apabila fail konfigurasi ketergantungan ditulis atau diselenggara dengan buruk. Isu ini boleh membawa kepada akibat yang serius, seperti peningkatan kerumitan dan pengurangan kebolehselenggaraan projek.
Satu lagi had pip ialah ketidakupayaannya untuk memadankan kod Python secara konsisten dengan tepat semasa memulihkan persekitaran masa jalan. Ketidakpadanan ini boleh mengakibatkan kadar kejayaan yang rendah untuk inferens pergantungan, menjadikannya mencabar untuk mencipta semula persekitaran projek dengan pasti.
uv ialah pengurus pakej Python berprestasi tinggi moden, dibangunkan oleh pencipta ruff dan ditulis dalam Rust. Direka sebagai pengganti drop-in untuk pip dan pip-tools, ia memberikan kelajuan dan keserasian yang luar biasa dengan alatan sedia ada.
Ciri utama termasuk sokongan untuk pemasangan boleh diedit, kebergantungan Git dan URL, fail kekangan, indeks tersuai dan banyak lagi. persekitaran maya yang mematuhi piawaian uv berfungsi dengan lancar dengan alatan lain, mengelakkan penguncian atau penyesuaian. Ia adalah platform merentas, menyokong Linux, Windows dan macOS serta telah diuji secara meluas terhadap indeks PyPI.
Memfokuskan pada kesederhanaan, kelajuan dan kebolehpercayaan, uv menangani masalah sakit pembangun biasa seperti pemasangan perlahan, konflik versi dan pengurusan pergantungan yang kompleks, menawarkan penyelesaian intuitif untuk pembangunan Python moden.
sumber: https://blog.kusho.ai/uv-pip-killer-or-yet-another-package-manager
Menyelesaikan (kiri) dan memasang (kanan) kebergantungan menggunakan cache hangat, mensimulasikan proses mencipta semula persekitaran maya atau menambah kebergantungan baharu pada projek sedia ada.
sumber: https://blog.kusho.ai/uv-pip-killer-or-yet-another-package-manager
Menyelesaikan (kiri) dan memasang (kanan) kebergantungan dengan cache sejuk mensimulasikan pelaksanaan dalam persekitaran yang bersih. Tanpa caching, uv adalah 8–10x lebih pantas daripada pip dan pip-tools, dan dengan cache hangat, ia mencapai kelajuan 80–115x lebih pantas.
sumber: https://blog.kusho.ai/uv-pip-killer-or-yet-another-package-manager
Mencipta persekitaran maya dengan pakej benih (kiri) dan tanpa (kanan) seperti pip dan setuptools. uv adalah kira-kira 80x lebih pantas daripada python -m venv dan 7x lebih pantas daripada virtualenv, semuanya semasa beroperasi secara bebas daripada Python.
Memasang uv adalah pantas dan mudah. Anda boleh memilih pemasang kendiri atau memasangnya terus daripada PyPI.
# On macOS and Linux. curl -LsSf https://astral.sh/uv/install.sh | sh # On Windows. powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # With pip. pip install uv # With pipx. pipx install uv # With Homebrew. brew install uv # With Pacman. pacman -S uv
Sebelum menggunakan uv, kita perlu menambah laluan uv kepada pembolehubah persekitaran.
Untuk Linux dan macOS, ubah suai pembolehubah persekitaran PATH menggunakan arahan berikut dalam terminal:
export PATH="$HOME/.local/bin:$PATH"
Untuk tetingkap, Untuk menambah direktori pada pembolehubah persekitaran PATH untuk pengguna dan sistem pada Windows, cari Pembolehubah Persekitaran dalam panel carian. Di bawah Pembolehubah pengguna / Pembolehubah sistem, pilih pembolehubah Laluan, klik Edit, kemudian klik Baharu dan tambah laluan yang dikehendaki.
%USERPROFILE%\.local\bin
Selepas pemasangan, jalankan arahan uv dalam terminal untuk mengesahkan bahawa ia telah dipasang dengan betul.
Mewujudkan persekitaran maya dengan uv adalah mudah dan mudah. Gunakan arahan berikut, bersama-sama dengan nama persekitaran yang anda inginkan, untuk menciptanya.
uv venv
# On macOS and Linux. source .venv/bin/activate # On Windows. .venv\Scripts\activate
Memasang pakej ke dalam persekitaran maya mengikut proses biasa. Pelbagai kaedah pemasangan diberikan di bawah.
uv pip install flask # Install Flask. uv pip install -r requirements.txt # Install from a requirements.txt file. uv pip install -e . # Install current project in editable mode. uv pip install "package @ ." # Install current project from disk uv pip install "flask[dotenv]" # Install Flask with "dotenv" extra.
Untuk menyegerakkan kebergantungan terkunci dengan persekitaran maya, gunakan arahan berikut:
uv pip sync requirements.txt # Install dependencies from a requirements.txt file.
uv menyokong pelbagai argumen baris perintah yang serupa dengan alat sedia ada, termasuk -r requirements.txt, -c constraints.txt, -e ., --index-url dan banyak lagi.
Mari terokai beberapa arahan berkaitan projek dengan uv. Mulakan dengan memulakan projek Python bernama "projek sampel."
# On macOS and Linux. curl -LsSf https://astral.sh/uv/install.sh | sh # On Windows. powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # With pip. pip install uv # With pipx. pipx install uv # With Homebrew. brew install uv # With Pacman. pacman -S uv
Navigasi ke direktori projek sampel. uv memulakan projek dengan fail penting seperti app.py, requirements.txt, README.md dan banyak lagi.
Gunakan arahan run untuk melaksanakan contoh fail Python. Proses ini mula-mula mencipta folder persekitaran maya dan kemudian menjalankan fail Python.
export PATH="$HOME/.local/bin:$PATH"
Tambahkan Flask pada kebergantungan projek anda.
%USERPROFILE%\.local\bin
Buat yang baharu dan tulis kod berikut.
uv venv
Gunakan arahan uv run untuk melaksanakan aplikasi.
# On macOS and Linux. source .venv/bin/activate # On Windows. .venv\Scripts\activate
Buka penyemak imbas atau gunakan alat seperti curl atau Posmen untuk menghantar permintaan GET.
Menggunakan uv untuk memasang Python adalah pilihan, kerana ia berfungsi dengan lancar dengan pemasangan Python sedia ada. Walau bagaimanapun, jika memasang Python melalui uv lebih disukai, ia boleh dilakukan dengan arahan mudah:
uv pip install flask # Install Flask. uv pip install -r requirements.txt # Install from a requirements.txt file. uv pip install -e . # Install current project in editable mode. uv pip install "package @ ." # Install current project from disk uv pip install "flask[dotenv]" # Install Flask with "dotenv" extra.
Pendekatan ini selalunya lebih mudah dan boleh dipercayai berbanding kaedah tradisional, kerana ia mengelakkan keperluan untuk mengurus repositori atau memuat turun pemasang. Hanya laksanakan arahan dan persediaan sedia untuk digunakan.
Alat CLI boleh dipasang dan digunakan dengan arahan uv. Contohnya, alat huggingface_hub boleh dipasang untuk membolehkan menarik dan menolak fail ke repositori Memeluk Wajah.
uv pip sync requirements.txt # Install dependencies from a requirements.txt file.
uv init sample-project
Berikut ialah helaian curang pantas untuk melaksanakan operasi biasa dengan uv:
Walaupun uv menawarkan penyelesaian yang pantas dan cekap untuk pengurusan pakej Python, ia mempunyai beberapa batasan:
Terima kasih kerana membaca artikel ini !!
Terima kasih Gowri M Bhatt kerana menyemak kandungan.
Jika anda menyukai artikel ini, sila klik pada butang hati ♥ dan kongsi untuk membantu orang lain menemuinya!
uv - Pakej Python dan pengurus projek yang sangat pantas, ditulis dalam Rust | docs.astral.sh
Atas ialah kandungan terperinci Memperkenalkan uv: Pengurus Pakej Python Generasi Seterusnya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!