Έλεγχος και εμφάνιση της έκδοσης της Python (π.χ. sys.version)

Επιχείρηση

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

Αυτή η ενότητα εξηγεί πώς να ελέγξετε τη γραμμή εντολών και τον κώδικα, αντίστοιχα.

  • Ελέγξτε και εμφανίστε την έκδοση στη γραμμή εντολών:--version,-V,-VV
  • Λάβετε την έκδοση στον κώδικα:sys,platform
    • Μια συμβολοσειρά με διάφορες πληροφορίες, συμπεριλαμβανομένου ενός αριθμού έκδοσης:sys.version
    • Μια αριθμητική πλειάδα αριθμών έκδοσης:sys.version_info
    • Συμβολοσειρά αριθμού έκδοσης:platform.python_version()
    • Μια πλειάδα συμβολοσειρών αριθμού έκδοσης:platform.python_version_tuple()

Αν λάβετε τον αριθμό έκδοσης στον κώδικα, μπορείτε να τον εμφανίσετε με την print() για να τον ελέγξετε και να αλλάξετε τη διαδικασία ανάλογα με την έκδοση.

Ελέγξτε και εμφανίστε την έκδοση στη γραμμή εντολών: –version, -V, -VV

Μπορείτε να χρησιμοποιήσετε μια γραμμή εντολών για τα Windows ή ένα τερματικό για Mac.pythonή την εντολήpython3εντολή.--versionΠροαιρετικά ή-Vγια να το εκτελέσετε.

$ python --version
Python 2.7.15

$ python -V
Python 2.7.15

$ python3 --version
Python 3.7.0

$ python3 -V
Python 3.7.0

Όπως μπορείτε να δείτε στο παραπάνω παράδειγμα, ανάλογα με το περιβάλλον σας, το σύστημα Python 2.x μπορεί να είναιpythonεντολή, η σειρά Python 3.x θα είναιpython3Εκχωρείται σε μια εντολή.

Από την Python 3.6-VVέχει προστεθεί η επιλογή.-VΜπορείτε να δείτε πιο λεπτομερείς πληροφορίες από

$ python3 -VV
Python 3.7.0 (default, Jun 29 2018, 20:13:13) 
[Clang 9.1.0 (clang-902.0.39.2)]

Λήψη έκδοσης σε κώδικα: sys, platform

Μπορείτε επίσης να χρησιμοποιήσετε την ενότητα sys ή την ενότητα platform της τυπικής βιβλιοθήκης για να λάβετε, να ελέγξετε και να εμφανίσετε την έκδοση της Python που εκτελείται στην πραγματικότητα.

Εκτελέστε το σενάριο Python για να το ελέγξετε. Το σενάριο είναι το ίδιο για Windows, Mac, Ubuntu και άλλα συστήματα Linux.

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

Μπορεί επίσης να χρησιμοποιηθεί για εξαρτημένη διακλάδωση όταν θέλετε να μεταβείτε μεταξύ της επεξεργασίας της Python 2 και της Python 3.

Διάφορες συμβολοσειρές πληροφοριών, συμπεριλαμβανομένου του αριθμού έκδοσης: sys.version

sys.versionείναι μια συμβολοσειρά που υποδεικνύει διάφορες πληροφορίες, συμπεριλαμβανομένου του αριθμού έκδοσης.

sys.version
Μια συμβολοσειρά που υποδεικνύει τον αριθμό έκδοσης του διερμηνέα Python καθώς και πληροφορίες όπως ο αριθμός κατασκευής και ο μεταγλωττιστής που χρησιμοποιήθηκε.
sys — System-specific parameters and functions – Python 3.10.0 Documentation

import sys

print(sys.version)
# 3.7.0 (default, Jun 29 2018, 20:13:13) 
# [Clang 9.1.0 (clang-902.0.39.2)]

print(type(sys.version))
# <class 'str'>

Αριθμητική πλειάδα αριθμού έκδοσης: sys.version_info

sys.version_infoείναι μια πλειάδα που δείχνει τον αριθμό έκδοσης.

sys.version_info
Μια πλειάδα πέντε τιμών που υποδεικνύει τον αριθμό έκδοσης: major, minor, micro, releaselevel και serial. Όλες οι τιμές εκτός από το releaselevel είναι ακέραιοι αριθμοί.sys — System-specific parameters and functions – Python 3.10.0 Documentation

print(sys.version_info)
# sys.version_info(major=3, minor=7, micro=0, releaselevel='final', serial=0)

print(type(sys.version_info))
# <class 'sys.version_info'>

releaselevelείναι μια συμβολοσειρά και όλα τα άλλα στοιχεία είναι ακέραιοι αριθμοί.

Μπορείτε να καθορίσετε το δείκτη για να λάβετε την αντίστοιχη τιμή.

print(sys.version_info[0])
# 3

Ξεκινώντας από την έκδοση 2.7 για τη σειρά Python 2 και από την έκδοση 3.1 για τη σειρά Python 3, η πρόσβαση σε στοιχεία με χρήση ονομάτων (βλ.majorminormicroreleaselevelserialΓια παράδειγμα, αν θέλετε να λάβετε την κύρια έκδοση, μπορείτε να χρησιμοποιήσετε Για παράδειγμα, αν θέλετε να λάβετε την κύρια έκδοση, μπορείτε να κάνετε τα εξής

print(sys.version_info.major)
# 3

Αν θέλετε να προσδιορίσετε αν εκτελείτε Python2 ή Python3, χρησιμοποιήστε την εντολήsys.version_info.majorΜπορείτε να ελέγξετε την κύρια έκδοση στο2Τότε μπορείτε να χρησιμοποιήσετε την Python2 για να3Στη συνέχεια Python3.

Ένα παράδειγμα εναλλαγής μεταξύ επεξεργασίας Python 2 και Python 3 παρουσιάζεται παρακάτω.

if sys.version_info.major == 3:
    print('Python3')
else:
    print('Python2')
# Python3

Αν θέλετε να αλλάξετε τη διαδικασία σε μια δευτερεύουσα έκδοσηsys.version_info.minorΚαθορίστε το

Σημειώστε ότι, όπως αναφέρθηκε παραπάνω, η πρόσβαση σε στοιχεία με βάση το όνομα υποστηρίζεται από τις εκδόσεις 2.7 και 3.1, οπότε αν είναι πιθανό να το εκτελέσετε σε μια προγενέστερη έκδοση, μπορείτε να χρησιμοποιήσετε τοsys.version_info[0]και … καιsys.version_info[1]καθορίζεται από τον δείκτη.

Αριθμός έκδοσης string: platform.python_version()

platform.python_version()είναι.major.minor.patchlevelΜια συνάρτηση που επιστρέφει μια συμβολοσειρά στη μορφή

platform.python_version()
Επιστρέφει την έκδοση της Python ως συμβολοσειρά στη μορφή 'major.minor.patchlevel'.
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

import platform

print(platform.python_version())
# 3.7.0

print(type(platform.python_version()))
# <class 'str'>

Χρήσιμο όταν θέλετε να λάβετε τον αριθμό έκδοσης ως μια απλή συμβολοσειρά.

Δέσμη συμβολοσειρών αριθμού έκδοσης: platform.python_version_tuple()

platform.python_version_tuple()είναι.(major, minor, patchlevel)Μια συνάρτηση που επιστρέφει μια πλειάδα του Το περιεχόμενο της πλειάδας δεν είναι ένας αριθμός αλλά μια συμβολοσειρά.

platform.python_version_tuple()
Επιστρέφει την έκδοση της Python ως πλειάδα συμβολοσειρών (major, minor, patchlevel).
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

print(platform.python_version_tuple())
# ('3', '7', '0')

print(type(platform.python_version_tuple()))
# <class 'tuple'>

sys.version_infoΔεδομένου ότι είναι απλώς μια πλειάδα, σε αντίθεση με τοmajorκαι … καιminorδεν επιτρέπεται η πρόσβαση στο στοιχείο με βάση το όνομα.

Έλεγχος και εμφάνιση της έκδοσης της Python (π.χ. sys.version)

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

Αυτή η ενότητα εξηγεί πώς να ελέγξετε τη γραμμή εντολών και τον κώδικα, αντίστοιχα.

  • Ελέγξτε και εμφανίστε την έκδοση στη γραμμή εντολών:--version,-V,-VV
  • Λάβετε την έκδοση στον κώδικα: sys,platform
    • Μια συμβολοσειρά με διάφορες πληροφορίες, συμπεριλαμβανομένου του αριθμού έκδοσης: sys.version
    • Μια αριθμητική πλειάδα αριθμών έκδοσης: sys.version_info
    • Αριθμός έκδοσης string: platform.python_version()
    • Δέσμη συμβολοσειρών αριθμού έκδοσης: platform.python_version_tuple()

Αν λάβετε τον αριθμό έκδοσης στον κώδικα, μπορείτε να χρησιμοποιήσετε την ακόλουθη συνάρτηση για να τον εμφανίσετε και να τον ελέγξετε.print()Μπορείτε επίσης να αλλάξετε τη διαδικασία ανάλογα με την έκδοση.

Ελέγξτε και εμφανίστε την έκδοση στη γραμμή εντολών: –version, -V, -VV

Μπορείτε να ελέγξετε την έκδοση εκτελώντας την ακόλουθη εντολή από τη γραμμή εντολών στα Windows ή το Terminal στον Mac.

  • εντολή
    • python
    • python3
  • Επιλογή
    • --version
    • -V
$ python --version
Python 2.7.15

$ python -V
Python 2.7.15

$ python3 --version
Python 3.7.0

$ python3 -V
Python 3.7.0

Όπως φαίνεται στο παραπάνω παράδειγμα, ανάλογα με το περιβάλλον, τα συστήματα Python 2.x αντιστοιχίζονται στην εντολή python και τα συστήματα Python 3.x αντιστοιχίζονται στην εντολή python3.

Η επιλογή -VV προστέθηκε στην Python 3.6. Η επιλογή -VV εμφανίζει πιο λεπτομερείς πληροφορίες από την επιλογή -V.

$ python3 -VV
Python 3.7.0 (default, Oct 21 2020, 10:23:15) 
[Clang 9.1.0 (clang-902.0.39.2)]

Λήψη έκδοσης σε κώδικα: sys, platform

Μπορείτε επίσης να χρησιμοποιήσετε την ενότητα sys ή την ενότητα platform της τυπικής βιβλιοθήκης για να λάβετε, να ελέγξετε και να εμφανίσετε την έκδοση της Python που εκτελείται στην πραγματικότητα.

Εκτελέστε το σενάριο Python για να το ελέγξετε. Το σενάριο είναι το ίδιο για Windows, Mac, Ubuntu και άλλα συστήματα Linux.

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

Μπορεί επίσης να χρησιμοποιηθεί για εξαρτημένη διακλάδωση όταν θέλετε να μεταβείτε μεταξύ της επεξεργασίας της Python 2 και της Python 3.

Διάφορες συμβολοσειρές πληροφοριών, συμπεριλαμβανομένου του αριθμού έκδοσης: sys.version

sys.version
Πρόκειται για μια συμβολοσειρά που υποδεικνύει διάφορες πληροφορίες, συμπεριλαμβανομένου του αριθμού έκδοσης.

sys.version
Μια συμβολοσειρά που υποδεικνύει τον αριθμό έκδοσης του διερμηνέα Python καθώς και πληροφορίες όπως ο αριθμός κατασκευής και ο μεταγλωττιστής που χρησιμοποιήθηκε.
sys — System-specific parameters and functions – Python 3.10.0 Documentation

import sys

print(sys.version)
# 3.7.0 (default, Oct 21 2020, 10:23:15) 
# [Clang 9.1.0 (clang-902.0.39.2)]

print(type(sys.version))
# <class 'str'>

Αριθμητική πλειάδα αριθμού έκδοσης: sys.version_info

sys.version_info
Πρόκειται για μια πλειάδα που υποδεικνύει τον αριθμό έκδοσης.

sys.version_info
Μια πλειάδα πέντε τιμών που δηλώνουν τον αριθμό έκδοσης: major, minor, micro, releaselevel και serial, οι οποίες είναι ακέραιες εκτός από το releaselevel.
sys — System-specific parameters and functions – Python 3.10.0 Documentation

print(sys.version_info)
# sys.version_info(major=3, minor=7, micro=0, releaselevel='final', serial=0)

print(type(sys.version_info))
# <class 'sys.version_info'>

releaselevel
Αυτό είναι ένα αλφαριθμητικό και όλα τα άλλα στοιχεία είναι ακέραιοι αριθμοί.

Μπορείτε να καθορίσετε το δείκτη για να λάβετε την αντίστοιχη τιμή.

print(sys.version_info[0])
# 3

Από την έκδοση 2.7 για τη σειρά Python 2 και την έκδοση 3.1 για τη σειρά Python 3, υποστηρίζεται επίσης η πρόσβαση στο στοιχείο με βάση το όνομα.

  • major
  • minor
  • micro
  • releaselevel
  • serial

Για παράδειγμα, αν θέλετε να λάβετε την κύρια έκδοση, κάντε τα εξής

print(sys.version_info.major)
# 3

Αν θέλετε να προσδιορίσετε αν εκτελείτε Python 2 ή Python 3, μπορείτε να χρησιμοποιήσετε τον ακόλουθο κώδικα για να ελέγξετε την κύρια έκδοση.
sys.version_info.majorΕάν η τιμή επιστροφής είναι 2, πρόκειται για Python2, εάν είναι 3, πρόκειται για Python3.

Ένα παράδειγμα εναλλαγής μεταξύ επεξεργασίας Python 2 και Python 3 παρουσιάζεται παρακάτω.

if sys.version_info.major == 3:
    print('Python3')
else:
    print('Python2')
# Python3

Αν θέλετε να αλλάξετε τη διαδικασία με μια δευτερεύουσα έκδοση, καθορίστε τις ακόλουθες τιμές.
sys.version_info.minor

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

  • sys.version_info[0]
  • sys.version_info[1]

Αριθμός έκδοσης string: platform.python_version()

Η platform.python_version() είναι μια συνάρτηση που επιστρέφει μια συμβολοσειρά σε μορφή major.minor.patchlevel.

platform.python_version()
Επιστρέφει την έκδοση της Python ως συμβολοσειρά στη μορφή 'major.minor.patchlevel'.
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

import platform

print(platform.python_version())
# 3.7.0

print(type(platform.python_version()))
# <class 'str'>

Χρήσιμο όταν θέλετε να λάβετε τον αριθμό έκδοσης ως μια απλή συμβολοσειρά.

Δέσμη συμβολοσειρών αριθμού έκδοσης: platform.python_version_tuple()

Η platform.python_version_tuple() είναι μια συνάρτηση που επιστρέφει μια πλειάδα (major, minor, patchlevel).
Το περιεχόμενο μιας πλειάδας δεν είναι ένας αριθμός, αλλά μια συμβολοσειρά.

platform.python_version_tuple()
Επιστρέφει την έκδοση της Python ως πλειάδα συμβολοσειρών (major, minor, patchlevel).
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

print(platform.python_version_tuple())
# ('3', '7', '0')

print(type(platform.python_version_tuple()))
# <class 'tuple'>

Σε αντίθεση με το sys.version_info, είναι απλώς μια πλειάδα, οπότε δεν είναι δυνατή η πρόσβαση στο στοιχείο με βάση το όνομα.