Ένας νέος διαχειριστής πακέτων Python
Διαχειριστείτε έργα Python, εκτελέστε σενάρια και εργαλεία, χειριστείτε εξαρτήσεις και εγκαταστήστε πακέτα—όλα με το εργαλείο uv.
Το uv είναι ένα γρήγορο πακέτο Python και διαχειριστής έργου, γραμμένο σε Rust. Μπορεί να χρησιμοποιηθεί αντί για εργαλεία pip, pip-tools, pipx, poetry, pyenv και virtualenv. Το uv παρέχει ένα πλήρες οικοσύστημα για τη διαχείριση έργων Python, επιτρέποντάς σας να προσθέτετε εξαρτήσεις, να διαχειρίζεστε εργαλεία, να εκτελείτε σενάρια και πολλά άλλα. Εν ολίγοις, από την εγκατάσταση της Python μέχρι τη δημιουργία εφαρμογών Python, το uv κάνει τη διαδικασία ταχύτερη και ευκολότερη. Ένα από τα καλύτερα χαρακτηριστικά του UV είναι η συμβατότητά του με το εργαλείο pip. Αυτό σημαίνει ότι χρειάζεται απλώς να προσθέσετε το "uv" μπροστά από την εντολή σας και όλες οι προηγούμενες εντολές σας θα λειτουργήσουν εκτός πλαισίου.
Σε αυτό το σεμινάριο, θα μάθουμε πώς να εγκαταστήσουμε το uv και να εξερευνήσουμε τις διάφορες δυνατότητες του. Θα δημιουργήσουμε ένα έργο, θα προσθέσουμε εξαρτήσεις, θα εκτελέσουμε σενάρια, θα χρησιμοποιήσουμε εργαλεία και επίσης θα μάθουμε για τη διεπαφή pip του.
Εγκατάσταση Uv
Μπορείτε να εκτελέσετε την ακόλουθη εντολή στο τερματικό για να εγκαταστήσετε το uv σε Linux και MacOS.
$ curl -LsSf https://astral.sh/uv/install.sh | sh
Για Windows, δοκιμάστε να χρησιμοποιήσετε το εργαλείο Winget.
$ winget install --id=astral-sh.uv -e
Είναι τόσο ευέλικτο που μπορείτε να το εγκαταστήσετε χρησιμοποιώντας τη διεπαφή pip.
$ pip install uv
Αφού ολοκληρωθεί η εγκατάσταση, εκτελέστε την εντολή «uv» στο τερματικό για να ελέγξετε εάν έχει εγκατασταθεί σωστά.
$ uv
Έργα
Τώρα θα αρχικοποιήσουμε το έργο Python που ονομάζεται "KDN".
$ uv init KDN
Αλλάξτε τον κατάλογο στο έργο.
$ cd /datasets/_deepnote_work/KDN
Όπως μπορείτε να δείτε, το έργο έχει όλα τα απαραίτητα αρχεία.
$ uv run hello.py
Όπως μπορούμε να δούμε, δημιούργησε πρώτα τον φάκελο εικονικού περιβάλλοντος και μετά έτρεξε το αρχείο Python.
Creating virtual environment at: .venv
Hello from kdn!
Θα προχωρήσουμε στην εγκατάσταση και προσθήκη «pandas» ως εξάρτηση στο έργο.
$ uv add 'pandas==2.2.3'
Σενάρια
Τώρα, θα μάθουμε πώς να τρέχουμε πιο εύκολα το αρχείο Python με το uv. Αρχικά, θα δημιουργήσουμε ένα απλό αρχείο Python δέσμης ενεργειών ιστού με τον απαραίτητο κώδικα.
$ echo "import requests; from bs4 import BeautifulSoup; response = requests.get('https://www.kdnuggets.com/author/abidali-awan'); soup = BeautifulSoup(response.content, 'html.parser'); print('Webpage Title:', soup.title.string)" > webscrape.py
Στη συνέχεια, θα προσθέσουμε τις εξαρτήσεις στο αρχείο δέσμης ενεργειών web.
$ uv add --script webscrape.py "requests" "beautifulsoup4"
Αυτά ανάλογα θα προστεθούν στο αρχείο ως σχόλιο και θα διαβαστούν μόνο από το εργαλείο uv.
Όταν εκτελείτε το αρχείο Python, θα εγκαταστήσει πρώτα τα πακέτα Python και στη συνέχεια θα εκτελέσει τον κώδικα.
$ uv run webscrape.py
Έξοδος:
Installed 7 packages in 18ms
Webpage Title: Abid Ali Awan - KDnuggets
Αυτό είναι πολύ χρήσιμο εάν εργάζεστε εκτός του έργου και έχετε μόνο μερικά αρχεία Python για εκτέλεση.
Εργαλεία
Μπορούμε να εγκαταστήσουμε και να χρησιμοποιήσουμε εργαλεία CLI χρησιμοποιώντας την εντολή «uv». Στην περίπτωσή μας, εγκαθιστούμε τα εργαλεία «huggingface_hub», τα οποία μας επιτρέπουν να τραβάμε και να προωθούμε αρχεία από τα αποθετήρια του Hugging Face.
$ uv tool install huggingface_hub
Για να προβάλουμε όλα τα εγκατεστημένα εργαλεία, μπορούμε να εκτελέσουμε την παρακάτω εντολή.
$ uv tool list
Έχουμε εγκαταστήσει το εργαλείο, αλλά όπως μπορείτε να δείτε, έχει διαφορετικό όνομα, "huggingface-cli", για την εκτέλεση της εντολής.
huggingface-hub v0.25.1
- huggingface-cli
Για να εκτελέσουμε το εργαλείο με διαφορετικό όνομα από το όνομα του πακέτου, θα χρησιμοποιήσουμε τη σημαία «--από» και θα του παρέχουμε το όνομα του πακέτου και το όνομα του εργαλείου. Στη συνέχεια, θα συνδεθούμε στο Hugging Face Hub χρησιμοποιώντας το κλειδί API.
$ uv tool run --from huggingface-hub huggingface-cli login --token $HUGGINGFACEHUB_API_TOKEN
Το εργαλείο λειτουργεί.
Your token has been saved to /root/.cache/huggingface/token
Login successful
Η διασύνδεση pip
Το uv είναι πλήρως συμβατό με το εργαλείο pip, που σημαίνει ότι μπορούμε να εκτελέσουμε όλες τις εντολές pip χρησιμοποιώντας το εργαλείο uv. Το μόνο που έχετε να κάνετε είναι να προσθέσετε «uv» στην αρχή του σεναρίου σας.
Θα εγκαταστήσουμε το πακέτο «controlflow» χρησιμοποιώντας τη διεπαφή pip.
$ uv pip install controlflow -q
Στη συνέχεια, θα δούμε την περιγραφή του χρησιμοποιώντας την εντολή «show».
$ uv pip show controlflow
Name: controlflow
Version: 0.10.0
Location: /root/venv/lib/python3.9/site-packages
Requires: jinja2, langchain-anthropic, langchain-core, langchain-openai, markdownify, openai, prefect, pydantic-settings, textual, tiktoken, typer
Required-by:
Στο τέλος, θα δημιουργήσουμε το `requirements.txt` χρησιμοποιώντας την εντολή πάγωμα.
$ uv pip freeze >> requirements.txt
Τελικές Σκέψεις
Το uv είναι κατάλληλο για αρχάριους, έργα χαρτοφυλακίου και έργα έτοιμα για παραγωγή. Γίνεται ολοένα και πιο δημοφιλές, με πολλά εργαλεία ενορχήστρωσης να αντικαθιστούν το pip με το UV και να ενθαρρύνουν τους χρήστες να κάνουν τη μετάβαση σε αυτό το ανώτερο εργαλείο.
Κατά τη γνώμη μου, το uv είναι καλύτερο από το pip όταν ασχολείσαι με μεγάλα έργα με εκατοντάδες εξαρτήσεις. Ωστόσο, για μικρά έργα, πιστεύω ότι το εργαλείο pip εξακολουθεί να είναι ανώτερο σε ταχύτητα και αποτελεσματικότητα.
Σε αυτό το σεμινάριο, μάθαμε για το νέο εργαλείο διαχείρισης έργου Python. Εξερευνήσαμε επίσης τις δυνατότητές του με παραδείγματα κώδικα όπως το Project, τα Scripts, τα Εργαλεία και η διεπαφή Pip.