Rumah > pembangunan bahagian belakang > Tutorial Python > UV sebagai alternatif kepada Puisi

UV sebagai alternatif kepada Puisi

Susan Sarandon
Lepaskan: 2024-12-03 14:20:15
asal
323 orang telah melayarinya

Terdapat terlalu banyak pengurus pakej untuk Python. Ini, sudah tentu, mempunyai sebab yang jelas - kekurangan fungsi pip, pengurus pakej terbina dalam. Namun begitu, perfeksionis dalaman mahukan penyelesaian mudah di luar kotak. Pasang Python - dan anda segera mendapat pengurus pakej yang pantas dan mudah, dan sebaik-baiknya pengurus versi Python. Tetapi sebaliknya anda mendapat pip. Sesetengah orang, sudah tentu, benar-benar menggunakannya, tetapi masih puisi, pdm, conda, pipenv atau sekurang-kurangnya pip-tools adalah lebih mudah.

Baiklah, okey, nampaknya puisi bagus untuk semua orang. Saya menggunakannya sendiri dalam kebanyakan projek. Tetapi pemasangan kebergantungan mula kelihatan perlahan - terutamanya apabila membina semula bekas docker. Selain itu, terdapat kerumitan dengan memasang puisi itu sendiri atau menukar versi python - anda menukar versi melalui, sebagai contoh, pyenv, dan puisi memberikan ralat apabila anda cuba mencipta semula persekitaran. Walaupun diandaikan bahawa ia boleh berfungsi dengan versi Python yang berbeza. Ini boleh diselesaikan, sudah tentu, dengan mudah - dengan menyatakan laluan penuh kepada penterjemah, tetapi ia masih menjadi tongkat. Serta memasang pyenv yang sama, dan secara amnya bekerja dengannya. Dan nampaknya tiada apa-apa lagi untuk mengawal versi python.

Oleh itu, pada bulan Februari, penyelesaian menarik muncul daripada pencipta Ruff. Pengurus pakej UV ditulis dalam Rast. Berasaskan konsol semata-mata, sudah tentu, dan sintaksnya sangat mengingatkan puisi. Dari segi fungsi, ini adalah perkara yang hampir sama, tetapi dengan banyak barangan dan beberapa kali lebih pantas. Dokumen menunjukkan gambar rajah masa pemasangan ini untuk set kebergantungan yang sama:

UV как альтернатива Poetry

Sintaks benar-benar serupa dengan puisi. Beginilah, sebagai contoh, projek dicipta (terus ke direktori):

uv init project
cd project
Salin selepas log masuk

Di sana kami mempunyai struktur ini:

project
├── .python-version
├── hello.py
├── pyproject.toml
└── README.md
Salin selepas log masuk

Pergantungan, seperti puisi, disimpan dalam konfigurasi pyproject.toml, versi python disimpan dalam versi .python.

Mari kita cipta persekitaran maya:

uv venv
Salin selepas log masuk

Tambah SQLAlchemy bergantung pada:

uv add sqlalchemy
Salin selepas log masuk

Atau kami boleh menambah versi tertentu:

uv add sqlalchemy@2.0.32
Salin selepas log masuk

Sekarang mari padamkan:

uv remove sqlalchemy
Salin selepas log masuk

Kini gula - pengurusan versi python. Mari pasang 3.11.9 dan cipta persekitaran dengan penterjemah sedemikian.

uv python install 3.11.9
uv venv --python 3.11.9
Salin selepas log masuk

Versi Python akan disimpan dalam versi .python, dan anda tidak perlu menunjukkan perkara ini kepada pengurus pakej setiap kali anda menukar penterjemah, kerana UV ialah pengurus pakej. Lebih-lebih lagi, anda tidak perlu memasang versi secara manual, tetapi segera buat persekitaran dengan versi yang dikehendaki: jika ia tidak dipasang, maka UV itu sendiri akan menariknya, iaitu, anda tidak perlu memikirkannya sama sekali - memang mendebarkan.

Seperti puisi, terdapat fungsi untuk membina dan menerbitkan pakej pada PyPI. Anda boleh membina bekas dan menerbitkan pakej menggunakan dua arahan:

uv build
uv publish
Salin selepas log masuk

Anda juga boleh menggunakan UV sebagai penyelia, dan menjalankan skrip dan aplikasi menggunakan uv run

Dan ceri pada kek ialah imej buruh pelabuhan.

FROM ghcr.io/astral-sh/uv:python3.12

WORKDIR /app

RUN uv venv

CMD ["run", "app"]
Salin selepas log masuk

Anda tidak perlu menarik imej ular sawa dan memasang UV di sana melalui pip, anda boleh segera menarik imej UV dan berseronok. Selain itu, terdapat banyak helah lain di sana, tetapi mengenai perkara ini di dok (yang sebenarnya, sangat jelas) - mereka yang memerlukan kerepek ini dalam dok tidak akan takut untuk pergi ke dok.

Secara umum, alat yang sangat mudah dan alternatif yang baik untuk puisi. Tiada sokongan UV dalam mana-mana IDE lagi, tetapi ia hanya menunggu masa. Memang bagus kerana terdapat banyak ciri, saya mahu projek itu dibangunkan. Kongsi siaran ini dan tulis perkara yang anda gunakan.

P.S. Dan anda perlu menikmati TGC: https://t.me/dmkjfss

Atas ialah kandungan terperinci UV sebagai alternatif kepada Puisi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan