Προγραμματισμός

Πώς να διαχειριστείτε τα έργα Python με το Pipenv

Το οικοσύστημα πακέτων της Python σάς επιτρέπει να αξιοποιήσετε τη δουλειά εκατομμυρίων άλλων προγραμματιστών με ένα απλό εγκατάσταση pip εντολή. Τα εικονικά περιβάλλοντα της Python σάς επιτρέπουν να απομονώσετε έργα και πακέτα μεταξύ τους.

Αλλά τα ζογκλέρ περιβάλλοντα και πακέτα χωριστά μπορεί να είναι δύσκολο. Αμφιβολία, εάν τα έργα σας έχουν συγκεκριμένες απαιτήσεις πακέτου και θέλετε να εστιάσετε στην ανάπτυξη αντί στη συντήρηση. Αυτό που χρειαζόμαστε είναι ένας τρόπος να διαχειριστούμε μαζί περιβάλλοντα και πακέτα.

Η Pipenv μετατρέπει τη διαχείριση εικονικών περιβαλλόντων Python και πακέτων Python σε ένα μόνο εργαλείο. Το Pipenv διασφαλίζει ότι κάθε έργο χρησιμοποιεί τη σωστή έκδοση κάθε πακέτου που χρειάζεται και ότι κάθε ένα από αυτά τα πακέτα έχει επίσης τις σωστές εξαρτήσεις.

Επιπλέον, το Pipenv δημιουργεί μια λίστα με τις εξαρτήσεις του έργου σας που μπορούν να ταξιδέψουν μαζί του, επιτρέποντας σε άλλους χρήστες ή προγραμματιστές να δημιουργήσουν το ίδιο έργο με τον ίδιο τρόπο. Άλλοι χρήστες θα πρέπει επίσης να εγκαταστήσουν το Pipenv για να ρυθμίσουν σωστά ένα έργο που διαχειρίζεται το Pipenv, αλλά ευτυχώς, η εγκατάσταση και η χρήση του Pipenv είναι πολύ εύκολο.

Πώς λειτουργεί το Pipenv

Συνήθως, όταν δημιουργείτε ένα έργο Python και χρησιμοποιείτε ένα εικονικό περιβάλλον για τα πακέτα του, έχετε την ευθύνη να δημιουργήσετε μόνοι σας το εικονικό περιβάλλον (χρησιμοποιώντας την εντολήpy -m venv), εγκατάσταση εξαρτήσεων σε αυτό και παρακολούθηση των εξαρτήσεων με μη αυτόματο τρόπο.

Το Pipenv παρέχει έναν τρόπο να γίνει όλα αυτά ημι-αυτόματα. Το εικονικό περιβάλλον για το έργο σας δημιουργείται και διαχειρίζεται για εσάς όταν εγκαθιστάτε πακέτα μέσω της διεπαφής γραμμής εντολών του Pipenv. Οι εξαρτήσεις παρακολουθούνται και κλειδώνουν, και μπορείτε να διαχειριστείτε τις εξαρτήσεις ανάπτυξης και χρόνου εκτέλεσης ξεχωριστά. Μπορείτε επίσης να κάνετε μετεγκατάσταση από το υπάρχον παλιό σχολείο απαιτήσεις.txt αρχεία, οπότε δεν χρειάζεται να διαλύσετε το έργο σας και να το ξεκινήσετε από την αρχή για να χρησιμοποιήσετε το Pipenv καλά.

Σημειώστε ότι σε αντίθεση με άλλα εργαλεία διαχείρισης έργων της Python (όπως η Poetry), η Pipenv δεν διαχειρίζεται το «ικριώματα» του έργου σας. Δηλαδή, το Pipenv δεν δημιουργεί την εσωτερική δομή του καταλόγου έργων με πλαστές δοκιμές, στέλεχος τεκμηρίωσης κ.λπ., αλλά επικεντρώνεται κυρίως στη διαχείριση πακέτων και περιβάλλοντος. Αυτό καθιστά το Pipenv μια καλή επιλογή αν θέλετε απλώς ένα εργαλείο να εστιάζει σε εικονικά περιβάλλοντα και πακέτα και όχι μια λύση all-in-one.

Ξεκινήστε με το Pipenv

Το Pipenv εγκαθίσταται με τον ίδιο τρόπο όπως τα περισσότερα άλλα πακέτα Python: εγκατάσταση pip - χρήστης pipenv. ο --χρήστης Συνιστάται η επιλογή για να μην Pagenv έρχεται σε διένεξη με άλλα πακέτα σε όλο το σύστημα. Θα πρέπει επίσης να προσθέσετε τη διαδρομή στον δυαδικό κατάλογο βάσης χρήστη στη διαδρομή συστήματος, έτσι ώστε οι εντολές Pipenv να δρομολογούνται στο σωστό μέρος.

Εάν σκοπεύετε να κάνετε το Pipenv σταθερό μέρος της ροής εργασίας σας, είναι επίσης καλή ιδέα να διατηρήσετε την υποκείμενη εγκατάσταση Python όσο το δυνατόν λιγότερο. Αυτές οι συμβουλές ισχύουν για τις περισσότερες εγκαταστάσεις Python που χρησιμοποιούν εικονικά περιβάλλοντα.

Δημιουργήστε ένα νέο έργο με το Pipenv

Για να ξεκινήσετε ένα εντελώς νέο έργο με το Pipenv, απλώς δημιουργήστε έναν κατάλογο και συμπληρώστε το με τα αρχεία που κανονικά θα δημιουργήσατε για ένα έργο. Εάν τείνετε να σκαλωσιά ένα έργο καθώς πηγαίνετε, μπορείτε να ξεκινήσετε με έναν κενό κατάλογο.

Η εγκατάσταση πακέτων για ένα έργο δεν διαφέρει αισθητά με το Pipenv από το Pipenv. στην πραγματικότητα, η σύνταξη είναι σχεδόν η ίδια. Ανοίξτε μια κονσόλα στον κατάλογο του έργου σας και πληκτρολογήστε εγκατάσταση pipenv για να εγκαταστήσετε ένα πακέτο για το έργο. Για να καθορίσετε ότι το πακέτο είναι για ανάπτυξη, Χρησιμοποιήστε το -ρε σημαία. Μπορείς να χρησιμοποιήσεις κουκούτσι σύνταξη για να δηλώσει μια συγκεκριμένη έκδοση ενός πακέτου (π.χ., μαύρο == 13.0b1).

Όταν εγκαθιστάτε ένα πακέτο με το Pipenv, συμβαίνουν δύο πράγματα. Αρχικά, ο Pipenv θα ελέγξει εάν έχει ήδη δημιουργηθεί εικονικό περιβάλλον για αυτόν τον κατάλογο έργων. Εάν ναι, η Pipenv θα εγκαταστήσει το πακέτο στο υπάρχον εικονικό περιβάλλον. Εάν όχι, το Pipenv θα δημιουργήσει ένα εικονικό περιβάλλον που χρησιμοποιεί την ίδια έκδοση του Python που χρησιμοποιείται για την εκτέλεση του Pipenv. Σημειώστε ότι το εικονικό περιβάλλον είναι δεν δημιουργήθηκε στον ίδιο τον κατάλογο έργων. έχει δημιουργηθεί σε έναν κατάλογο που διαχειρίζεται ο Pipenv στο προφίλ χρήστη σας.

Δεύτερον, το Pipenv θα εγκαταστήσει τα ζητούμενα πακέτα στο εικονικό περιβάλλον. Όταν ολοκληρωθεί η εγκατάσταση, το Pipenv θα αναφέρει όλα όσα έκανε, συμπεριλαμβανομένης μιας διαδρομής προς το εικονικό περιβάλλον εάν έπρεπε να δημιουργήσει ένα.

Γενικά δεν χρειάζεται να γνωρίζετε τη διαδρομή προς το εικονικό περιβάλλον που δημιουργεί το Pipenv. Για να ενεργοποιήσετε το περιβάλλον, απλώς μεταβείτε στον κατάλογο του έργου σας και χρησιμοποιήστε τοκέλυφος pipenv για να ξεκινήσετε μια νέα περίοδο λειτουργίας shell ή χρήσητρέχει pipenv για να εκτελέσετε μια εντολή απευθείας. Για παράδειγμα, χρησιμοποιήστετο pipenv τρέχει mypy για να εκτελέσετε την έκδοση του εργαλείου γραμμής εντολών του μυώδης (υποθέτοντας το μυώδης το εργαλείο εγκαταστάθηκε στο εικονικό περιβάλλον), ή pipenv run python -m για να εκτελέσετε μια μονάδα Python διαθέσιμη στο εικονικό περιβάλλον.

Pipenv και lockfiles

Κοιτάξτε μέσα στον κατάλογο αφού εγκαταστήσετε πακέτα με το Pipenv και θα δείτε δύο αρχεία, Pipfile και Pipfile.lock. Και οι δύο δημιουργούνται αυτόματα από το Pipenv και δεν πρέπει να επεξεργαστούν άμεσα, καθώς περιγράφουν την κατάσταση των πακέτων στο έργο.

Pipfile είναι το απλούστερο των δύο. Περιλαμβάνει απλώς τα πακέτα που απαιτούνται για το έργο, από όπου είναι εγκατεστημένα (η προεπιλογή είναι το PyPI) και ποια έκδοση του Python απαιτείται για την εκτέλεση όλων. Pipfile.lock είναι πιο περίπλοκο. Παραθέτει κάθε πακέτο μαζί με λεπτομέρειες έκδοσης και κατακερματισμούς SHA-256 που δημιουργούνται από το πακέτο. Οι κατακερματισμοί χρησιμοποιούνται για να διασφαλιστεί ότι τα εγκατεστημένα πακέτα ταιριάζουν ακριβώς τι έχει καθοριστεί - όχι μόνο ο αριθμός έκδοσης, αλλά και το ληφθέν περιεχόμενο.

Όταν εργάζεστε σε ένα έργο που χρησιμοποιεί το Pipenv για διαχείριση πακέτων, θα πρέπει να προσθέσετε το Pipfile και Pipfile.lock αρχεία στο αποθετήριο ελέγχου έκδοσης για το έργο. Τυχόν αλλαγές που γίνονται στα πακέτα του έργου σας με τη σειρά τους θα αλλάξουν αυτά τα αρχεία, επομένως αυτές οι αλλαγές θα πρέπει να παρακολουθούνται και να εκδίδονται.

Χρησιμοποιήστε ένα έργο Pipenv

Εάν κάνετε λήψη ενός αποθετηρίου πηγής για ένα έργο που χρησιμοποιεί το Pipenv για διαχείριση πακέτων, το μόνο που χρειάζεται να κάνετε είναι να αποσυσκευάσετε τα περιεχόμενα του αποθετηρίου σε έναν κατάλογο και να εκτελέσετε εγκατάσταση pipenv (δεν απαιτούνται ονόματα πακέτων). Ο Pipenv θα διαβάσει το Pipfile και Pipfile.lock αρχεία για το έργο, δημιουργία εικονικού περιβάλλοντος και εγκατάσταση όλων των εξαρτήσεων, όπως απαιτείται.

Τέλος, εάν θέλετε να χρησιμοποιήσετε το Pipenv για να διαχειριστείτε ένα έργο που χρησιμοποιεί αυτήν τη στιγμή απαιτήσεις.txt αρχείο, απλώς μεταβείτε στον κατάλογο του έργου και εκτελέστε το εγκατάσταση pipenv. Το Pipenv θα εντοπίσει τοαπαιτήσεις.txt (ή μπορείτε να χρησιμοποιήσετε το σημαία για να το δείξετε) και μετεγκαταστήστε όλες τις απαιτήσεις σε ένα Pipfile.