4. Χρησιμοποιώντας Python στα Windows

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

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

To obtain Python from the CPython team, use the Python install manager. This is a standalone tool that makes Python available as global commands on your Windows machine, integrates with the system, and supports updates over time. You can download the Python install manager from python.org/downloads or through the Microsoft Store app.

Once you have installed the Python install manager, the global python command can be used from any terminal to launch your current latest version of Python. This version may change over time as you add or remove different versions, and the py list command will show which is current.

Γενικά, συνιστούμε να δημιουργήσετε ένα εικονικό περιβάλλον για κάθε έργο και να εκτελέσετε <env>\Scripts\Activate στο τερματικό σας για να το χρησιμοποιήσετε. Αυτό παρέχει απομόνωση μεταξύ των έργων, συνέπεια με την πάροδο του χρόνου και διασφαλίζει ότι οι επιπλέον εντολές που προστίθενται από τα πακέτα είναι επίσης διαθέσιμες στη συνεδρία σας. Δημιουργήστε ένα εικονικό περιβάλλον χρησιμοποιώντας python -m venv <env path>.

If the python or py commands do not seem to be working, see the Troubleshooting section below. There are sometimes additional manual steps required to configure your PC.

Εκτός από τη χρήση του διαχειριστή εγκατάστασης Python, η Python μπορεί επίσης να αποκτηθεί ως πακέτο NuGet. Δείτε Τα πακέτα nuget.org παρακάτω για περισσότερες πληροφορίες σχετικά με αυτά τα πακέτα.

Οι ενσωματώσιμες διανομές είναι ελάχιστα πακέτα της Python κατάλληλα για ενσωμάτωση σε μεγαλύτερες εφαρμογές. Μπορούν να εγκατασταθούν χρησιμοποιώντας τον διαχειριστή εγκατάστασης Python. Δείτε Το ενσωματωμένο πακέτο παρακάτω για περισσότερες πληροφορίες σχετικά με αυτά τα πακέτα.

4.1. Διαχειριστής εγκατάστασης Python

4.1.1. Εγκατάσταση

Ο διαχειριστής εγκατάστασης Python μπορεί να εγκατασταθεί από την εφαρμογή Microsoft Store app ή να ληφθεί και να εγκατασταθεί από το python.org/downloads. Οι δύο εκδόσεις είναι ταυτόσημες.

Για να εγκαταστήσετε μέσω του Store, απλώς κάντε κλικ στο «Εγκατάσταση». Αφού ολοκληρωθεί, ανοίξτε ένα τερματικό και πληκτρολογήστε python για να ξεκινήσετε.

To install the file downloaded from python.org, either double-click and select «Install», or run Add-AppxPackage <path to MSIX> in Windows PowerShell.

Μετά την εγκατάσταση, οι εντολές python, py και pymanager θα πρέπει να είναι διαθέσιμες. Αν έχετε υπάρχουσες εγκαταστάσεις της Python, ή έχετε τροποποιήσει τη μεταβλητή PATH, ίσως χρειαστεί να τις αφαιρέσετε ή να αναιρέσετε τις τροποποιήσεις. Δείτε Αντιμετώπιση προβλημάτων για περισσότερη βοήθεια σχετικά με την αποκατάσταση μη λειτουργικών εντολών.

When you first install a runtime, you will likely be prompted to add a directory to your PATH. This is optional, if you prefer to use the py command, but is offered for those who prefer the full range of aliases (such as python3.14.exe) to be available. The directory will be %LocalAppData%\Python\bin by default, but may be customized by an administrator. Click Start and search for «Edit environment variables for your account» for the system settings page to add the path.

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

Ο διαχειριστής εγκατάστασης Python θα ενημερώνεται αυτόματα σε νέες εκδόσεις. Αυτό δεν επηρεάζει καμία εγκατάσταση runtime της Python. Η απεγκατάσταση του διαχειριστή εγκατάστασης Python δεν απεγκαθιστά καμία εγκατάσταση runtime της Python.

If you are not able to install an MSIX in your context, for example, you are using automated deployment software that does not support it, or are targeting Windows Server 2019, see Προχωρημένη εγκατάσταση below for more information.

4.1.2. Βασική χρήση

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

Για όλα τα σενάρια που περιλαμβάνουν πολλαπλές εκδόσεις runtime, η συνιστώμενη εντολή είναι py. Αυτή μπορεί να χρησιμοποιηθεί οπουδήποτε αντί για python ή τον παλαιότερο εκκινητή py.exe. Από προεπιλογή, το py ταιριάζει με τη συμπεριφορά του python, αλλά επιτρέπει επίσης επιλογές γραμμής εντολών για την επιλογή μιας συγκεκριμένης έκδοσης, καθώς και υποεντολές για τη διαχείριση εγκαταστάσεων. Αυτές περιγράφονται λεπτομερώς παρακάτω.

Because the py command may already be taken by the previous version, there is also an unambiguous pymanager command. Scripted installs that are intending to use Python install manager should consider using pymanager, due to the lower chance of encountering a conflict with existing installs. The only difference between the two commands is when running without any arguments: py will launch your default interpreter, while pymanager will display help (pymanager exec ... provides equivalent behaviour to py ...).

Each of these commands also has a windowed version that avoids creating a console window. These are pyw, pythonw and pywmanager. A python3 command is also included that mimics the python command. It is intended to catch accidental uses of the typical POSIX command on Windows, but is not meant to be widely used or recommended.

Για να εκκινήσετε το προεπιλεγμένο χρόνο εκτέλεσης σας, εκτελέστε το python ή το py με τα ορίσματα που θέλετε να περαστούν στο χρόνο εκτέλεσης (όπως αρχεία σεναρίων ή το module για εκκίνηση):

$> py
...
$> python my-script.py
...
$> py -m this
...

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

Για να εκκινήσετε ένα συγκεκριμένο χρόνο εκτέλεσης, η εντολή py δέχεται μια επιλογή -V:<TAG>. Αυτή η επιλογή πρέπει να καθοριστεί πριν από οποιεσδήποτε άλλες. Το tag είναι μέρος ή όλο το αναγνωριστικό για το χρόνο εκτέλεσης. Για αυτά από την ομάδα CPython, μοιάζει με την έκδοση, πιθανώς με την πλατφόρμα. Για λόγους συμβατότητας, το V: μπορεί να παραλειφθεί σε περιπτώσεις όπου το tag αναφέρεται σε μια επίσημη έκδοση και ξεκινά με 3.

$> py -V:3.14 ...
$> py -V:3-arm64 ...

Runtimes from other distributors may require the company to be included as well. It should be separated from the tag by a slash (either / or \), and may be shortened to any prefix of its full value. Specifying the company is optional when it is PythonCore, and specifying the tag is optional (but not the slash) when you want the latest release from a specific company.

$> py -V:Distributor\1.0 ...
$> py -V:distrib/ ...

Εάν δεν καθοριστεί καμία έκδοση, αλλά περαστεί ένα αρχείο σεναρίου, το σενάριο θα επιθεωρηθεί για μια shebang line. Αυτό είναι μια ειδική μορφή για την πρώτη γραμμή σε ένα αρχείο που επιτρέπει την παράκαμψη της εντολής. Δείτε Γραμμές Shebang για περισσότερες πληροφορίες. Όταν δεν υπάρχει shebang line, ή δεν μπορεί να επιλυθεί, το σενάριο θα εκκινήσει με το προεπιλεγμένο χρόνο εκτέλεσης.

Εάν τρέχετε σε ένα ενεργό εικονικό περιβάλλον, δεν έχετε ζητήσει μια συγκεκριμένη έκδοση, και δεν υπάρχει shebang line, το προεπιλεγμένο runtime θα είναι αυτό το εικονικό περιβάλλον.Σε αυτό το σενάριο, η εντολή python πιθανότατα είχε ήδη παρακαμφθεί και κανένας από αυτούς τους ελέγχους δεν συνέβη. Ωστόσο, αυτή η συμπεριφορά διασφαλίζει ότι η εντολή py μπορεί να χρησιμοποιηθεί εναλλακτικά.

When no runtimes are installed, any launch command will try to install the requested version and launch it. However, after any version is installed, only the py exec ... and pymanager exec ... commands will install if the requested version is absent. Other forms of commands will display an error and direct you to use py install first.

4.1.3. Εντολή βοήθειας

Η εντολή py help θα εμφανίσει την πλήρη λίστα των υποστηριζόμενων εντολών, μαζί με τις επιλογές τους. Οποιαδήποτε εντολή μπορεί να περάσει την επιλογή -? για να εμφανίσει τη βοήθειά της, ή το όνομά της μπορεί να περαστεί στην εντολή py help.

$> py help
$> py help install
$> py install /?

Όλες οι εντολές υποστηρίζουν μερικές κοινές επιλογές, οι οποίες θα εμφανιστούν από το py help. Αυτές οι επιλογές πρέπει να καθοριστούν μετά από οποιοδήποτε υποεντολή. Ο καθορισμός του -v ή --verbose θα αυξήσει την ποσότητα της εμφανιζόμενης εξόδου, και -vv θα την αυξήσει περαιτέρω για σκοπούς αποσφαλμάτωσης. Η μετάβαση του -q ή --quiet θα μειώσει την έξοδο, και -qq θα την μειώσει περαιτέρω.

Η επιλογή --config=<PATH> επιτρέπει τον καθορισμό ενός αρχείου διαμόρφωσης για να παρακαμφθούν πολλές ρυθμίσεις ταυτόχρονα. Δείτε Διαμόρφωση παρακάτω για περισσότερες πληροφορίες σχετικά με αυτά τα αρχεία.

4.1.4. Καταχώριση χρόνων εκτέλεσης

$> py list [-f=|--format=<FMT>] [-1|--one] [--online|-s=|--source=<URL>] [<TAG>...]

Η λίστα των εγκατεστημένων χρόνων εκτέλεσης μπορεί να προβληθεί χρησιμοποιώντας το py list. Μπορεί να προστεθεί ένα φίλτρο με τη μορφή ενός ή περισσότερων tags (με ή χωρίς καθοριστή εταιρείας), και το καθένα μπορεί να περιλαμβάνει ένα πρόθεμα <, <=, >= ή > για περιορισμό σε μια περιοχή.

A range of formats are supported, and can be passed as the --format=<FMT> or -f <FMT> option. Formats include table (a user-friendly table view), csv (comma-separated table), json (a single JSON blob), jsonl (one JSON blob per result), exe (just the executable path), prefix (just the prefix path).

Το --one ή -1 εμφανίζει μόνο ένα αποτέλεσμα. Εάν περιλαμβάνεται ο προεπιλεγμένος χρόνος εκτέλεσης, θα είναι αυτός. Διαφορετικά, εμφανίζεται το «καλύτερο» αποτέλεσμα (το «καλύτερο» είναι σκόπιμα ασαφώς ορισμένο, αλλά συνήθως θα είναι η πιο πρόσφατη έκδοση). Το αποτέλεσμα που εμφανίζεται από το py list --one <TAG> θα ταιριάξει με το χρόνο εκτέλεσης που θα εκκινηθεί από το py -V:<TAG>.

Η επιλογή --only-managed εξαιρεί αποτελέσματα που δεν εγκαταστάθηκαν από τον διαχειριστή εγκατάστασης Python. Αυτό είναι χρήσιμο κατά τον προσδιορισμό των χρόνων εκτέλεσης που μπορούν να ενημερωθούν ή να απεγκατασταθούν μέσω της εντολής py.

Η επιλογή --online είναι συντομογραφία για τη μετάβαση του --source=<URL> με την προεπιλεγμένη πηγή. Η μετάβαση οποιασδήποτε από αυτές τις επιλογές θα αναζητήσει στο διαδικτυακό ευρετήριο για χρόνους εκτέλεσης που μπορούν να εγκατασταθούν. Το αποτέλεσμα που εμφανίζεται από το py list --online --one <TAG> θα ταιριάξει με το χρόνο εκτέλεσης που θα εγκατασταθεί από το py install <TAG>.

$> py list --online 3.14

For compatibility with the old launcher, the --list, --list-paths, -0 and -0p commands (for example, py -0p) are retained. They do not allow additional options, and will produce legacy-formatted output.

4.1.5. Εγκαθιστώντας χρόνους εκτέλεσης

$> py install [-s=|--source=<URL>] [-f|--force] [-u|--update] [--dry-run] [<TAG>...]

Νέες εκδόσεις χρόνων εκτέλεσης μπορούν να προστεθούν χρησιμοποιώντας το py install. Μπορεί να καθοριστεί ένα ή περισσότερα tags, και το ειδικό tag default μπορεί να χρησιμοποιηθεί για την επιλογή του προεπιλεγμένου. Οι περιοχές δεν υποστηρίζονται για εγκατάσταση.

CPython publishes multiple runtime variants. For most users, PythonCore is recommended and provides the standard CPython runtime. Tags without any prefix are treated as PythonCore\<TAG>.

PythonTest includes the standard runtime together with the test suite and debugging symbols. It is intended for contributors or users who need these additional files for testing or debugging Python.

PythonEmbed provides a minimal embeddable distribution for applications that bundle Python rather than for interactive use. It would normally be used with the --target option described below.

To see the available runtime variants, run:

py list --online

To install a specific variant, include it in the tag passed to py install:

py install PythonTest\3.14

Η επιλογή --source=<URL> επιτρέπει την παράκαμψη του διαδικτυακού ευρετηρίου που χρησιμοποιείται για την απόκτηση χρόνων εκτέλεσης. Αυτό μπορεί να χρησιμοποιηθεί με ευρετήριο εκτός σύνδεσης, όπως φαίνεται στο Εγκαταστάσεις εκτός σύνδεσης.

Περνώντας την επιλογή --force θα αγνοήσει τυχόν αρχεία στην προσωρινή μνήμη και θα αφαιρέσει οποιαδήποτε υπάρχουσα εγκατάσταση για να την αντικαταστήσει με την καθορισμένη.

Passing --update will replace existing installs if the new version is newer. Otherwise, they will be left. If no tags are provided with --update, all installs managed by the Python install manager will be updated if newer versions are available. Updates will remove any modifications made to the install, including globally installed packages, but will leave site-packages and Scripts directories as is. Virtual environments are also unaffected.

Περνώντας την επιλογή --dry-run θα δημιουργήσει έξοδο και αρχεία καταγραφής, αλλά δεν θα τροποποιήσει καμία εγκατάσταση.

Passing --refresh will update all registrations for installed runtimes. This will recreate Start menu shortcuts, registry keys, and global aliases (such as python3.14.exe or for any installed scripts). These are automatically refreshed on installation of any runtime, but may need to be manually refreshed after installing packages.

In addition to the above options, the --target option will extract the runtime to the specified directory instead of doing a normal install. This is useful for embedding runtimes into larger applications. Unlike a normal install, py will not be aware of the extracted runtime, and no Start menu or other shortcuts will be created. To launch the runtime, directly execute the main executable (typically python.exe) in the target directory.

$> py install ... [-t=|--target=<PATH>] <TAG>

The py exec command will install the requested runtime if it is not already present. This is controlled by the automatic_install configuration (PYTHON_MANAGER_AUTOMATIC_INSTALL), and is enabled by default. If no runtimes are available at all, all launch commands will do an automatic install if the configuration setting allows. This is to ensure a good experience for new users, but should not generally be relied on rather than using the py exec command or explicit install commands.

4.1.6. Εγκαταστάσεις εκτός σύνδεσης

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

$> py install --download=<PATH> ... <TAG>...

Η επιλογή --download=<PATH> θα κατεβάσει τα πακέτα για τα καταχωρημένα tags και θα δημιουργήσει έναν κατάλογο που τα περιέχει και ένα αρχείο index.json κατάλληλο για μεταγενέστερη εγκατάσταση. Ολόκληρος αυτός ο κατάλογος μπορεί να μετακινηθεί στο μηχάνημα εκτός σύνδεσης και να χρησιμοποιηθεί για την εγκατάσταση ενός ή περισσότερων από τους παρεχόμενους χρόνους εκτέλεσης:

$> py install --source="<PATH>\index.json" <TAG>...

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

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

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

4.1.7. Απεγκατάσταση χρόνων εκτέλεσης

$> py uninstall [-y|--yes] <TAG>...

Οι χρόνοι εκτέλεσης μπορούν να αφαιρεθούν χρησιμοποιώντας την εντολή py uninstall. Πρέπει να καθοριστούν μία ή περισσότερες ετικέτες. Οι περιοχές δεν υποστηρίζονται εδώ.

Η επιλογή --yes παρακάμπτει την προτροπή επιβεβαίωσης πριν από την απεγκατάσταση.

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

$> py uninstall [-y|--yes] --purge

Ο διαχειριστής εγκατάστασης Python μπορεί να απεγκατασταθεί μέσω της σελίδας ρυθμίσεων των Windows «Εγκατεστημένες εφαρμογές». Αυτό δεν αφαιρεί κανέναν χρόνο εκτέλεσης, και θα εξακολουθούν να είναι χρησιμοποιήσιμοι, αν και οι παγκόσμιες εντολές python και py θα αφαιρεθούν. Η επανεγκατάσταση του διαχειριστή εγκατάστασης Python θα σας επιτρέψει να διαχειριστείτε αυτούς τους χρόνους εκτέλεσης ξανά. Για να καθαρίσετε πλήρως όλους τους χρόνους εκτέλεσης Python, εκτελέστε με --purge πριν από την απεγκατάσταση του διαχειριστή εγκατάστασης Python.

4.1.8. Διαμόρφωση

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

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

A global configuration file may be configured by an administrator and would be read first. The user configuration file is stored at %AppData%\Python\pymanager.json (note that this location is under Roaming, not Local) and is read next, overwriting any settings from earlier files. An additional configuration file may be specified as the PYTHON_MANAGER_CONFIG environment variable or the --config command line option (but not both). These locations may be modified by administrative customization options listed later.

Οι ακόλουθες ρυθμίσεις είναι αυτές που θεωρούνται πιθανό να τροποποιηθούν σε κανονική χρήση. Οι επόμενες ενότητες απαριθμούν αυτές που προορίζονται για διοικητική προσαρμογή.

Τυπικές επιλογές διαμόρφωσης

Κλειδί Διαμόρφωσης

Μεταβλητή Περιβάλλοντος

Περιγραφή

default_tag

PYTHON_MANAGER_DEFAULT

Η προτιμώμενη προεπιλεγμένη έκδοση για εκκίνηση ή εγκατάσταση. Κατά προεπιλογή, αυτό ερμηνεύεται ως η πιο πρόσφατη μη-προκαταρκτική έκδοση από την ομάδα CPython.

default_platform

PYTHON_MANAGER_DEFAULT_PLATFORM

The preferred default platform to launch or install. This is treated as a suffix to the specified tag, such that py -V:3.14 would prefer an install for 3.14-64 if it exists (and default_platform is -64), but will use 3.14 if no tagged install exists.

logs_dir

PYTHON_MANAGER_LOGS

Η τοποθεσία όπου γράφονται τα αρχεία καταγραφής. Κατά προεπιλογή, %TEMP%.

automatic_install

PYTHON_MANAGER_AUTOMATIC_INSTALL

True to allow automatic installs when using py exec to launch (or py when no runtimes are installed yet). Other commands will not automatically install, regardless of this setting. By default, true.

include_unmanaged

PYTHON_MANAGER_INCLUDE_UNMANAGED

True για να επιτρέπεται η καταχώριση και η εκκίνηση χρόνων εκτέλεσης που δεν εγκαταστάθηκαν από τον διαχειριστή εγκατάστασης Python, ή false για να τους εξαιρέσετε. Κατά προεπιλογή, true.

shebang_can_run_anything

PYTHON_MANAGER_SHEBANG_CAN_RUN_ANYTHING

True για να επιτρέπεται στις shebangs σε αρχεία .py να εκκινούν εφαρμογές εκτός από χρόνους εκτέλεσης Python, ή false για να το αποτρέψετε. Κατά προεπιλογή, true.

shebang_templates

(none)

Mapping from shebang line template to alternative command, such as py -V:<tag> or a substitute string. See Γραμμές Shebang for more details.

log_level

PYMANAGER_VERBOSE, PYMANAGER_DEBUG

Ορίζει το προεπιλεγμένο επίπεδο εξόδου (0-50). Κατά προεπιλογή, 20. Χαμηλότερες τιμές παράγουν περισσότερη έξοδο. Οι μεταβλητές περιβάλλοντος είναι boolean, και μπορεί να παράγουν επιπλέον έξοδο κατά την εκκίνηση που αργότερα καταστέλλεται από άλλες ρυθμίσεις.

confirm

PYTHON_MANAGER_CONFIRM

True για να επιβεβαιώσετε ορισμένες ενέργειες πριν τις εκτελέσετε (όπως η απεγκατάσταση), ή false για να παραλείψετε την επιβεβαίωση. Κατά προεπιλογή, true.

install.source

PYTHON_MANAGER_SOURCE_URL

Αντικαταστήστε την πηγή του δείκτη για να αποκτήσετε νέες εγκαταστάσεις.

install.enable_entrypoints

(none)

True to generate global commands for installed packages (such as pip.exe). These are defined by the packages themselves. If set to false, only the Python interpreter has global commands created. By default, true. You should run py install --refresh after changing this setting.

list.format

PYTHON_MANAGER_LIST_FORMAT

Καθορίστε την προεπιλεγμένη μορφή που χρησιμοποιείται από την εντολή py list. Κατά προεπιλογή, table.

install_dir

(none)

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

global_dir

(none)

Specify the directory where global commands (such as python3.14.exe and pip.exe) are stored. This directory should be added to your PATH to make the commands available from your terminal.

download_dir

(none)

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

Τα ονόματα με τελείες θα πρέπει να είναι εμφωλευμένα μέσα σε αντικείμενα JSON, για παράδειγμα, list.format θα καθοριζόταν ως {"list": {"format": "table"}}.

4.1.9. Γραμμές Shebang

If the first line of a script file starts with #!, it is known as a «shebang» line. Linux and other Unix-like operating systems have native support for such lines and they are commonly used on such systems to indicate how a script should be executed. The python and py commands allow the same facilities to be used with Python scripts on Windows.

Για να επιτρέψετε στις γραμμές shebang σε σενάρια Python να είναι φορητές μεταξύ Unix και Windows, υποστηρίζονται αρκετές “εικονικές” εντολές για να καθορίσετε ποιο διερμηνέα να χρησιμοποιήσετε. Οι υποστηριζόμενες εικονικές εντολές είναι:

  • /usr/bin/env <ALIAS>

  • /usr/bin/env -S <ALIAS>

  • /usr/bin/<ALIAS>

  • /usr/local/bin/<ALIAS>

  • <ALIAS>

Για παράδειγμα, εάν η πρώτη γραμμή του script σας ξεκινά με

#! /usr/bin/python

Η προεπιλεγμένη Python ή ένα ενεργό εικονικό περιβάλλον θα εντοπιστεί και θα χρησιμοποιηθεί. Καθώς πολλά Python scripts που έχουν γραφεί για να λειτουργούν σε Unix θα έχουν ήδη αυτή τη γραμμή, θα διαπιστώσετε ότι αυτά τα σενάρια μπορούν να χρησιμοποιηθούν από τον εκκινητή χωρίς τροποποίηση. Εάν γράφετε ένα νέο σενάριο στα Windows που ελπίζετε να είναι χρήσιμο σε Unix, θα πρέπει να χρησιμοποιήσετε μία από τις γραμμές shebang που ξεκινούν με /usr.

Οποιαδήποτε από τις παραπάνω εικονικές εντολές μπορούν να έχουν το <ALIAS> αντικατασταθεί από ένα ψευδώνυμο από μια εγκατεστημένη runtime. Δηλαδή, οποιαδήποτε εντολή που δημιουργείται στον παγκόσμιο κατάλογο ψευδωνύμων (τον οποίο μπορεί να έχετε προσθέσει στη μεταβλητή περιβάλλοντος PATH) μπορεί να χρησιμοποιηθεί σε ένα shebang, ακόμη και αν δεν είναι στο PATH. Αυτό επιτρέπει τη χρήση shebangs όπως /usr/bin/python3.12 για να επιλέξετε μια συγκεκριμένη runtime.

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

Η μορφή shebang γραμμής /usr/bin/env θα αναζητήσει επίσης τη μεταβλητή περιβάλλοντος PATH για μη αναγνωρισμένες εντολές. Αυτό αντιστοιχεί στη συμπεριφορά του προγράμματος Unix env, το οποίο εκτελεί την ίδια αναζήτηση, αλλά προτιμά την εκκίνηση γνωστών εντολών Python. Μπορεί να εμφανιστεί μια προειδοποίηση κατά την αναζήτηση για αυθαίρετα εκτελέσιμα αρχεία, και αυτή η αναζήτηση μπορεί να απενεργοποιηθεί από την επιλογή διαμόρφωσης shebang_can_run_anything.

Shebang lines that do not match any of the patterns are treated as Windows executable paths that are absolute or relative to the directory containing the script file. This is a convenience for Windows-only scripts, such as those generated by an installer, since the behavior is not compatible with Unix-style shells. These paths may be quoted, and may include multiple arguments, after which the path to the script and any additional arguments will be appended. This functionality may be disabled by the shebang_can_run_anything configuration option.

Since version 26.3 of the Python install manager, custom shebang templates may be added to your configuration file. Add the shebang_templates object with one member for each template (the string to match) and the command to use when the template is matched. Most commands should be py -V:<tag> (or pyw) to launch one of your installed runtimes. The py -3.<version> form is also allowed, as is a plain py to launch the default. No other arguments are supported.

{
    "shebang_templates": {
        "/usr/bin/python": "py",
        "/usr/bin/my_custom_python": "py -V:MyCustomPython/3"
    }
}

If the substitute command is not py or pyw, it will be written back into the shebang and regular handling continues. If launching arbitrary executables is permitted, then providing a full path will allow you to redirect from Python to any executable. The template should match either the entire line (ignoring leading and trailing whitespace), or up to the first space in the shebang line.

Σημείωση

Η συμπεριφορά των shebangs στον διαχειριστή εγκατάστασης Python είναι λεπτά διαφορετική από τον προηγούμενο εκκινητή py.exe, και οι παλιές επιλογές διαμόρφωσης δεν ισχύουν πλέον. Εάν βασίζεστε συγκεκριμένα στην παλιά συμπεριφορά ή διαμόρφωση, συνιστούμε την εγκατάσταση του legacy launcher. Η εντολή py του legacy launcher θα παρακάμψει αυτήν του PyManager από προεπιλογή, και θα χρειαστεί να χρησιμοποιήσετε τις εντολές pymanager για εγκατάσταση και απεγκατάσταση.

4.1.10. Προχωρημένη εγκατάσταση

Για καταστάσεις όπου ένα MSIX δεν μπορεί να εγκατασταθεί, όπως ορισμένες παλαιότερες πλατφόρμες διανομής για διαχειριστές, υπάρχει ένα MSI διαθέσιμο από τη σελίδα λήψεων του python.org. Αυτό το MSI δεν έχει διεπαφή χρήστη, και μπορεί μόνο να πραγματοποιήσει εγκαταστάσεις ανά μηχάνημα στην προεπιλεγμένη τοποθεσία στα Program Files. Θα προσπαθήσει να τροποποιήσει τη συστημική μεταβλητή PATH για να συμπεριλάβει αυτή την τοποθεσία εγκατάστασης, αλλά βεβαιωθείτε ότι το επαληθεύετε στη διαμόρφωσή σας.

Σημείωση

Τα Windows Server 2019 είναι η μόνη έκδοση των Windows που υποστηρίζει η CPython και δεν υποστηρίζει MSIX. Για τα Windows Server 2019, θα πρέπει να χρησιμοποιήσετε το MSI.

Να γνωρίζετε ότι το πακέτο MSI δεν περιλαμβάνει κανέναν χρόνο εκτέλεσης, και έτσι δεν είναι κατάλληλο για εγκαταστάσεις σε περιβάλλοντα χωρίς σύνδεση στο διαδίκτυο χωρίς επίσης τη δημιουργία ενός ευρετηρίου εγκατάστασης χωρίς σύνδεση. Δείτε Εγκαταστάσεις εκτός σύνδεσης και Διαχειριστική διαμόρφωση για πληροφορίες σχετικά με τη διαχείριση αυτών των σεναρίων.

Οι χρόνοι εκτέλεσης που εγκαθίστανται από το MSI κοινοποιούνται με αυτούς που εγκαθίστανται από το MSIX, και είναι όλοι μόνο ανά χρήστη. Ο διαχειριστής εγκατάστασης Python δεν υποστηρίζει την εγκατάσταση χρόνων εκτέλεσης ανά μηχάνημα. Για να μιμηθείτε μια εγκατάσταση ανά μηχάνημα, μπορείτε να χρησιμοποιήσετε το py install --target=<shared location> ως διαχειριστής και να προσθέσετε τις δικές σας τροποποιήσεις σε PATH, το μητρώο, ή το μενού Έναρξης.

Όταν το MSIX είναι εγκατεστημένο, αλλά οι εντολές δεν είναι διαθέσιμες στη PATH μεταβλητή περιβάλλοντος, μπορούν να βρεθούν στο %LocalAppData%\Microsoft\WindowsApps\PythonSoftwareFoundation.PythonManager_3847v3x7pw1km ή %LocalAppData%\Microsoft\WindowsApps\PythonSoftwareFoundation.PythonManager_qbz5n2kfra8p0, ανάλογα με το αν εγκαταστάθηκε από το python.org ή μέσω του Windows Store. Η προσπάθεια εκτέλεσης του εκτελέσιμου απευθείας από τα Program Files δεν συνιστάται.

Για να εγκαταστήσετε προγραμματιστικά τον διαχειριστή εγκατάστασης Python, είναι πιο εύκολο να χρησιμοποιήσετε το WinGet, το οποίο περιλαμβάνεται σε όλες τις υποστηριζόμενες εκδόσεις των Windows:

$> winget install 9NQ7512CXL7T -e --accept-package-agreements --disable-interactivity

# Optionally run the configuration checker and accept all changes
$> py install --configure -y

Για να κατεβάσετε τον διαχειριστή εγκατάστασης Python και να τον εγκαταστήσετε σε άλλο μηχάνημα, η ακόλουθη εντολή WinGet θα κατεβάσει τα απαιτούμενα αρχεία από το Store στον κατάλογο Λήψεις σας (προσθέστε -d <location> για να προσαρμόσετε την τοποθεσία εξόδου). Αυτό επίσης δημιουργεί ένα αρχείο YAML που φαίνεται να είναι περιττό, καθώς το κατεβασμένο MSIX μπορεί να εγκατασταθεί με την εκκίνηση ή τη χρήση των παρακάτω εντολών.

$> winget download 9NQ7512CXL7T -e --skip-license --accept-package-agreements --accept-source-agreements

Για να εγκαταστήσετε ή να απεγκαταστήσετε προγραμματιστικά ένα MSIX χρησιμοποιώντας μόνο το PowerShell, συνιστώνται τα PowerShell cmdlets Add-AppxPackage και Remove-AppxPackage:

$> Add-AppxPackage C:\Downloads\python-manager-25.0.msix
...
$> Get-AppxPackage PythonSoftwareFoundation.PythonManager | Remove-AppxPackage

Η τελευταία έκδοση μπορεί να ληφθεί και να εγκατασταθεί από τα Windows με τη μετάδοση του αρχείου AppInstaller στην εντολή Add-AppxPackage. Αυτό εγκαθιστά χρησιμοποιώντας το MSIX στο python.org, και συνιστάται μόνο για περιπτώσεις όπου η εγκατάσταση μέσω του Store (διαδραστικά ή χρησιμοποιώντας το WinGet) δεν είναι δυνατή.

$> Add-AppxPackage -AppInstallerFile https://www.python.org/ftp/python/pymanager/pymanager.appinstaller

Άλλα εργαλεία και API μπορούν επίσης να χρησιμοποιηθούν για την παροχή ενός πακέτου MSIX για όλους τους χρήστες σε μια μηχανή, αλλά η Python δεν θεωρεί αυτό ένα υποστηριζόμενο σενάριο. Προτείνουμε να εξετάσετε το PowerShell Add-AppxProvisionedPackage cmdlet, την εγγενή κλάση Windows PackageManager, ή την τεκμηρίωση και υποστήριξη για το εργαλείο ανάπτυξής σας.

Regardless of the install method, users will still need to install their own copies of Python itself, as there is no way to trigger those installs without being a logged-in user. When using the MSIX, the latest version of Python will be available for all users to install without network access.

Σημειώστε ότι το MSIX που μπορεί να ληφθεί από το Store και από τον ιστότοπο της Python είναι ελαφρώς διαφορετικό και δεν μπορούν να εγκατασταθούν ταυτόχρονα. Όπου είναι δυνατόν, προτείνουμε τη χρήση των παραπάνω εντολών WinGet για τη λήψη του πακέτου από το Store για να μειωθεί ο κίνδυνος ρύθμισης συγκρουόμενων εγκαταστάσεων. Δεν υπάρχουν περιορισμοί αδειοδότησης στον διαχειριστή εγκατάστασης Python που να εμποδίζουν τη χρήση του πακέτου Store με αυτόν τον τρόπο.

4.1.11. Διαχειριστική διαμόρφωση

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

Οι επιλογές διαμόρφωσης μπορούν να υπερκαλυφθούν στο μητρώο ρυθμίζοντας τιμές κάτω από HKEY_LOCAL_MACHINE\Software\Policies\Python\PyManager, όπου το όνομα της τιμής ταιριάζει με το κλειδί διαμόρφωσης και ο τύπος τιμής είναι REG_SZ. Σημειώστε ότι αυτό το κλειδί μπορεί να προσαρμοστεί, αλλά μόνο τροποποιώντας το βασικό αρχείο διαμόρφωσης που διανέμεται με τον διαχειριστή εγκατάστασης Python. Ωστόσο, συνιστούμε, ωστόσο, ότι οι τιμές μητρώου χρησιμοποιούνται μόνο για να ορίσουν base_config σε ένα αρχείο JSON που περιέχει το πλήρες σύνολο των υπερκαλύψεων. Οι υπερκαλύψεις κλειδιών μητρώου θα αντικαταστήσουν οποιαδήποτε άλλη ρυθμισμένη ρύθμιση, ενώ base_config επιτρέπει στους χρήστες να τροποποιούν περαιτέρω ρυθμίσεις που μπορεί να χρειαστούν.

Σημειώστε ότι οι περισσότερες ρυθμίσεις με μεταβλητές περιβάλλοντος υποστηρίζουν αυτές τις μεταβλητές επειδή η προεπιλεγμένη ρύθμισή τους καθορίζει τη μεταβλητή. Εάν τις υπερκαλύψετε, η μεταβλητή περιβάλλοντος δεν θα λειτουργεί πλέον, εκτός εάν την υπερκαλύψετε με άλλη. Για παράδειγμα, η προεπιλεγμένη τιμή του confirm είναι κυριολεκτικά %PYTHON_MANAGER_CONFIRM%, η οποία θα επιλύσει τη μεταβλητή κατά το χρόνο φόρτωσης. Εάν υπερκαλύψετε την τιμή σε yes, τότε η μεταβλητή περιβάλλοντος δεν θα χρησιμοποιείται πλέον. Εάν υπερκαλύψετε την τιμή σε %CONFIRM%, τότε θα χρησιμοποιηθεί αυτή η μεταβλητή περιβάλλοντος.

Οι ρυθμίσεις διαμόρφωσης που είναι διαδρομές ερμηνεύονται ως σχετικές με τον κατάλογο που περιέχει το αρχείο διαμόρφωσης που τις καθόρισε.

Διαχειριστικές επιλογές διαμόρφωσης

Κλειδί Διαμόρφωσης

Περιγραφή

base_config

Το αρχείο διαμόρφωσης με την υψηλότερη προτεραιότητα για ανάγνωση. Σημειώστε ότι μόνο το ενσωματωμένο αρχείο διαμόρφωσης και το μητρώο μπορούν να τροποποιήσουν αυτήν τη ρύθμιση.

user_config

Το δεύτερο αρχείο διαμόρφωσης για ανάγνωση.

additional_config

Το τρίτο αρχείο διαμόρφωσης για ανάγνωση.

registry_override_key

Τοποθεσία μητρώου για έλεγχο για υπερκαλύψεις. Σημειώστε ότι μόνο το ενσωματωμένο αρχείο διαμόρφωσης μπορεί να τροποποιήσει αυτήν τη ρύθμιση.

bundled_dir

Κατάλογος μόνο για ανάγνωση που περιέχει τοπικά αποθηκευμένα αρχεία.

install.fallback_source

Διαδρομή ή URL σε έναν ευρετήριο για συμβουλή όταν δεν είναι δυνατή η πρόσβαση στον κύριο ευρετήριο.

install.enable_shortcut_kinds

Comma-separated list of shortcut kinds to allow (for example, "pep514,start"). Enabled shortcuts may still be disabled by disable_shortcut_kinds.

install.disable_shortcut_kinds

Comma-separated list of shortcut kinds to exclude (for example, "pep514,start"). Disabled shortcuts are not reactivated by enable_shortcut_kinds.

install.hard_link_entrypoints

True to use hard links for global shortcuts to save disk space. If false, each shortcut executable is copied instead. After changing this setting, you must run py install --refresh --force to update existing commands. By default, true. Disabling this may be necessary for troubleshooting or systems that have issues with file links.

pep514_root

Τοποθεσία μητρώου για ανάγνωση και εγγραφή καταχωρήσεων PEP 514. Από προεπιλογή, HKEY_CURRENT_USER\Software\Python.

start_folder

Φάκελος μενού Έναρξης για εγγραφή συντομεύσεων. Από προεπιλογή, Python. Αυτή η διαδρομή είναι σχετική με το φάκελο Προγράμματα του χρήστη.

virtual_env

Διαδρομή προς το ενεργό εικονικό περιβάλλον. Από προεπιλογή, αυτό είναι %VIRTUAL_ENV%, αλλά μπορεί να οριστεί κενό για να απενεργοποιηθεί η ανίχνευση venv.

shebang_can_run_anything_silently

True για να καταστείλει ορατές προειδοποιήσεις όταν ένα shebang εκκινεί μια εφαρμογή εκτός από μια εκτελέσιμη Python.

source_settings

A mapping from source URL to settings specific to that index. When multiple configuration files include this section, URL settings are added or overwritten, but individual settings are not merged. These settings are currently only for index signatures.

4.1.12. Εγκατάσταση Δυαδικών Αρχείων με Ελεύθερα Νήματα

Added in version 3.13.

Οι προ-κατασκευασμένες διανομές της έκδοσης με ελεύθερα νήματα είναι διαθέσιμες με την εγκατάσταση ετικετών με το επίθημα t.

$> py install 3.14t
$> py install 3.14t-arm64
$> py install 3.14t-32

This will install and register as normal. If you have no other runtimes installed, then python will launch this one. Otherwise, you will need to use py -V:3.14t or, if you have added the global aliases directory to your PATH environment variable, the python3.14t.exe commands.

4.1.13. Index signatures

Added in version 26.2.

Index files may be signed to detect tampering. A signature is a catalog file at the same URL as the index with .cat added to the filename. The catalog file should contain the hash of its matching index file, and should be signed with a valid Authenticode signature. This allows standard tooling (on Windows) to generate a signature, and any certificate may be used as long as the client operating system already trusts its certification authority (root CA).

Index signatures are only downloaded and checked when the local configuration’s source_settings section includes the index URL and requires_signature is true, or the index JSON contains requires_signature set to true. When the setting exists in local configuration, even when false, settings in the index are ignored.

As well as requiring a valid signature, the required_root_subject and required_publisher_subject settings can further restrict acceptable signatures based on the certificate Subject fields. Any attribute specified in the configuration must match the attribute in the certificate (additional attributes in the certificate are ignored). Typical attributes are CN= for the common name, O= for the organization, and C= for the publisher’s country.

Finally, the required_publisher_eku setting allows requiring that a specific Enhanced Key Usage (EKU) has been assigned to the publisher certificate. For example, the EKU 1.3.6.1.5.5.7.3.3 indicates that the certificate was intended for code signing (as opposed to server or client authentication). In combination with a specific root CA, this provides another mechanism to verify a legitimate signature.

This is an example source_settings section from a configuration file. In this case, the publisher of the feed is uniquely identified by the combination of the Microsoft Identity Verification root and the EKU assigned by that root. The signature for this case would be found at https://www.python.org/ftp/python/index-windows.json.cat.

{
  "source_settings": {
    "https://www.python.org/ftp/python/index-windows.json": {
      "requires_signature": true,
      "required_root_subject": "CN=Microsoft Identity Verification Root Certificate Authority 2020",
      "required_publisher_subject": "CN=Python Software Foundation",
      "required_publisher_eku": "1.3.6.1.4.1.311.97.608394634.79987812.305991749.578777327"
    }
  }
}

The same settings could be specified in the index.json file instead. In this case, the root and EKU are omitted, meaning that the signature must be valid and have a specific common name in the publisher’s certificate, but no other checks are used.

{
  "requires_signature": true,
  "required_publisher_subject": "CN=Python Software Foundation",
  "versions": [
    // ...
  ]
}

When settings from inside a feed are used, the user is notified and the settings are shown in the log file or verbose output. It is recommended to copy these settings into a local configuration file for feeds that will be used frequently, so that unauthorised modifications to the feed cannot disable verification.

It is not possible to override the location of the signature file in the feed or through a configuration file. Administrators can provide their own source_settings in a mandatory configuration file (see Διαχειριστική διαμόρφωση).

If signature validation fails, you will be notified and prompted to continue. When interactive confirmation is not allowed (for example, because --yes was specified), it will always abort. To use a feed with invalid configuration in this scenario, you must provide a configuration file that disables signature checking for that feed.

"source_settings": {
  "https://www.example.com/feed-with-invalid-signature.json": {
    "requires_signature": false
  }
}

4.1.14. Proxy settings

Added in version 26.4.

By default, the Python install manager will use your system-wide proxy settings, including automatic authentication. For most users, this behaves the same as your browser and other applications.

To override the settings, use the NO_PROXY, HTTP_PROXY and HTTPS_PROXY environment variables. These should be set in the terminal session before using the Python install manager. Other applications may also use the variables, so use caution before setting them globally for your entire machine.

Setting NO_PROXY to any non-empty value will disable the use of any proxy. Use this to bypass your system’s default proxy setting and attempt to access the index server directly.

Setting HTTPS_PROXY to a string like example.com:8080 will connect to that proxy server for all HTTPS connections. For the default index, all connections will be using HTTPS, and so this is the usual setting to override.

The HTTP_PROXY variable may be needed if you are using a private index server that does not use encrypted connections, but does require the default proxy server to be overridden. It follows the same format as HTTPS_PROXY.

Credentials may be embedded in either setting, however, when HTTPS_PROXY has credentials embedded they will be used in preference to other credentials. Only one set of credentials will be used for both types of proxy.

4.1.15. Αντιμετώπιση προβλημάτων

If your Python install manager does not seem to be working correctly, work through these tests and fixes to see if it helps. If not, report an issue at our bug tracker, including any relevant log files (written to your %TEMP% directory by default).

Αντιμετώπιση προβλημάτων

Σύμπτωμα

Πράγματα που μπορείτε να δοκιμάσετε

το python μου δίνει σφάλμα «command not found» ή ανοίγει την εφαρμογή Store όταν το πληκτρολογώ στο τερματικό μου.

Εγκαταστήσατε το install the Python install manager

Κάντε κλικ στο Έναρξη, ανοίξτε το «Διαχείριση εκτέλεσης εφαρμογών» και ελέγξτε ότι τα aliases για το «Python (default)» είναι ενεργοποιημένα. Εάν ήδη είναι, δοκιμάστε να τα απενεργοποιήσετε και να τα ενεργοποιήσετε ξανά για να ανανεώσετε την εντολή. Οι εντολές «Python (default windowed)» και «Python install manager» ενδέχεται επίσης να χρειάζονται ανανέωση.

Ελέγξτε ότι οι εντολές py και pymanager λειτουργούν.

Ensure your PATH variable contains the entry for %UserProfile%\AppData\Local\Microsoft\WindowsApps. The operating system includes this entry once by default, after other user paths. If removed, shortcuts will not be found.

Το py μου δίνει σφάλμα «command not found» όταν το πληκτρολογώ στο τερματικό μου.

Εγκαταστήσατε το install the Python install manager

Κάντε κλικ στο Έναρξη, ανοίξτε το «Διαχείριση εκτέλεσης εφαρμογών» και ελέγξτε ότι τα aliases για το «Python (default)» είναι ενεργοποιημένα. Εάν ήδη είναι, δοκιμάστε να τα απενεργοποιήσετε και να τα ενεργοποιήσετε ξανά για να ανανεώσετε την εντολή. Οι εντολές «Python (default windowed)» και «Python install manager» ενδέχεται επίσης να χρειάζονται ανανέωση.

Ensure your PATH variable contains the entry for %UserProfile%\AppData\Local\Microsoft\WindowsApps. The operating system includes this entry once by default, after other user paths. If removed, shortcuts will not be found.

το py μου δίνει σφάλμα «can’t open file» όταν πληκτρολογώ εντολές στο τερματικό μου.

Αυτό συνήθως σημαίνει ότι έχετε εγκαταστήσει τον παλιό launcher και έχει προτεραιότητα έναντι του διαχειριστή εγκατάστασης Python. Για να το αφαιρέσετε, κάντε κλικ στο Έναρξη, ανοίξτε το «Εγκατεστημένες εφαρμογές», αναζητήστε το «Python launcher» και απεγκαταστήστε το.

η python δεν ξεκινά το ίδιο runtime με το py

Κάντε κλικ στο Έναρξη, ανοίξτε το «Εγκατεστημένες εφαρμογές», αναζητήστε τους υπάρχοντες Python runtimes και είτε αφαιρέστε τους είτε τροποποιήστε και απενεργοποιήστε τις επιλογές PATH.

Κάντε κλικ στο Έναρξη, ανοίξτε το «Διαχείριση εκτέλεσης εφαρμογών» και ελέγξτε ότι το alias python.exe είναι ρυθμισμένο σε «Python (default)»

python και py δεν ξεκινούν το runtime που περιμένω

Ελέγξτε τη μεταβλητή περιβάλλοντος PYTHON_MANAGER_DEFAULT ή τη διαμόρφωση default_tag. Η εντολή py list θα εμφανίσει την προεπιλογή σας με βάση αυτές τις ρυθμίσεις.

Εγκαταστάσεις που διαχειρίζονται από τον διαχειριστή εγκατάστασης Python θα επιλεγούν πριν από τις μη διαχειριζόμενες εγκαταστάσεις. Χρησιμοποιήστε το py install για να εγκαταστήσετε το runtime που περιμένετε, ή διαμορφώστε την προεπιλεγμένη ετικέτα σας.

Prerelease and experimental installs that are not managed by the Python install manager may be chosen ahead of stable releases. Configure your default tag or uninstall the prerelease runtime and reinstall it using py install.

pythonw ή pyw δεν ξεκινούν το ίδιο runtime με το python ή το py

Κάντε κλικ στο Έναρξη, ανοίξτε το «Διαχείριση εκτέλεσης εφαρμογών» και ελέγξτε ότι τα aliases σας pythonw.exe και pyw.exe είναι συνεπή με τα άλλα.

Το pip μου δίνει σφάλμα «command not found» όταν το πληκτρολογώ στο τερματικό μου.

Έχετε ενεργοποιήσει ένα εικονικό περιβάλλον; Εκτελέστε το script .venv\Scripts\activate στο τερματικό σας για να το ενεργοποιήσετε.

The package may be available but missing the generated executable. We recommend using the python -m pip command instead. Running py install --refresh and ensuring that the global shortcuts directory is on PATH (it will be shown in the command output if it is not) should make commands such as pip (and other installed packages) available.

I installed a package with pip but its command is not found.

Έχετε ενεργοποιήσει ένα εικονικό περιβάλλον; Εκτελέστε το script .venv\Scripts\activate στο τερματικό σας για να το ενεργοποιήσετε.

New packages do not automatically have global shortcuts created by the Python install manager. Similarly, uninstalled packages do not have their shortcuts removed. Run py install --refresh to update the global shortcuts for newly installed packages.

Πληκτρολογώντας script-name.py στο τερματικό ανοίγει σε νέο παράθυρο.

Αυτή είναι μια γνωστή περιορισμός του λειτουργικού συστήματος. Είτε καθορίστε py πριν από το όνομα του script, δημιουργήστε ένα αρχείο batch που περιέχει @py "%~dpn0.py" %* με το ίδιο όνομα με το script, είτε εγκαταστήστε τον legacy launcher και επιλέξτε τον ως την συσχέτιση για τα scripts.

Το drag-dropping αρχείων σε ένα script δεν λειτουργεί

Αυτή είναι μια γνωστή περιορισμός του λειτουργικού συστήματος. Υποστηρίζεται με τον legacy launcher, ή με τον διαχειριστή εγκατάστασης Python όταν εγκαθίσταται από το MSI.

I have installed the Python install manager multiple times.

It is possible to install from the Store or WinGet, from the MSIX on the Python website, and from the MSI, all at once. They are all compatible and will share configuration and runtimes.

See the earlier Προχωρημένη εγκατάσταση section for ways to uninstall the install manager other than the typical Installed Apps (Add and Remove Programs) settings page.

My old py.ini settings no longer work.

The new Python install manager no longer supports this configuration file or its settings, and so it will be ignored. See Διαμόρφωση for information about configuration settings.

4.2. Το ενσωματωμένο πακέτο

Added in version 3.5.

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

Για να εγκαταστήσετε μια ενσωματωμένη διανομή, προτείνουμε τη χρήση του py install με την επιλογή --target:

$> py install 3.14-embed --target=<directory>

When extracted, the embedded distribution is (almost) fully isolated from the user’s system, including environment variables, system registry settings, and installed packages. The standard library is included as pre-compiled and optimized .pyc files in a ZIP, and python3.dll, python314.dll, python.exe and pythonw.exe are all provided. Tcl/Tk (including all dependents, such as IDLE), pip and the Python documentation are not included.

Ένα προεπιλεγμένο αρχείο ._pth περιλαμβάνεται, το οποίο περιορίζει περαιτέρω τις προεπιλεγμένες διαδρομές αναζήτησης (όπως περιγράφεται παρακάτω στο Εύρεση modules). Αυτό το αρχείο προορίζεται για τροποποίηση από ενσωματωτές όπως είναι απαραίτητο.

Τα πακέτα τρίτων θα πρέπει να εγκατασταθούν από το πρόγραμμα εγκατάστασης της εφαρμογής παράλληλα με την ενσωματωμένη διανομή. Η χρήση pip για τη διαχείριση εξαρτήσεων όπως για μια κανονική εγκατάσταση Python δεν υποστηρίζεται με αυτήν τη διανομή, αν και με λίγη προσοχή μπορεί να είναι δυνατό, να συμπεριληφθεί και να χρησιμοποιηθεί το pip για αυτόματες ενημερώσεις. Γενικά, τα πακέτα τρίτων θα πρέπει να αντιμετωπίζονται ως μέρος της εφαρμογής («vendoring»), έτσι ώστε ο προγραμματιστής να μπορεί να διασφαλίσει τη συμβατότητα με νεότερες εκδόσεις προτού παρέχει ενημερώσεις στους χρήστες.

Οι δύο προτεινόμενες περιπτώσεις χρήσης για αυτήν τη διανομή περιγράφονται παρακάτω.

4.2.1. Εφαρμογή Python

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

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

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

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

4.2.2. Ενσωμάτωση Python

Οι εφαρμογές που είναι γραμμένες σε εγγενή κώδικα απαιτούν συχνά κάποια μορφή scripting γλώσσας και η ενσωματωμένη διανομή Python μπορεί να χρησιμοποιηθεί για αυτόν τον σκοπό. Γενικά, η πλειονότητα της εφαρμογής είναι σε εγγενή κώδικα και κάποιο μέρος είτε θα καλέσει το python.exe ή θα χρησιμοποιήσει απευθείας το python3.dll. Και στις δύο περιπτώσεις, η εξαγωγή της ενσωματωμένης διανομής σε έναν υποκατάλογο της εγκατάστασης της εφαρμογής αρκεί για να παρέχει έναν διερμηνέα Python με δυνατότητα φόρτωσης.

As with the application use, packages can be installed to any location as there is an opportunity to specify search paths before initializing the interpreter. Otherwise, there are no fundamental differences between using the embedded distribution and a regular installation.

4.3. Τα πακέτα nuget.org

Added in version 3.5.2.

Το πακέτο nuget.org είναι ένα περιβάλλον Python μειωμένου μεγέθους που προορίζεται για χρήση σε συνεχή ενοποίηση και δημιουργία συστημάτων που δεν έχουν εγκατάσταση Python. Ενώ το nuget είναι «ο διαχειριστής πακέτων για .NET», λειτουργεί επίσης τέλεια για πακέτα που περιέχουν εργαλεία χρόνου κατασκευής.

Επισκεφτείτε το nuget.org για τις πιο ενημερωμένες πληροφορίες σχετικά με τη χρήση του nuget. Αυτό που ακολουθεί είναι μια περίληψη που είναι επαρκής για προγραμματιστές Python.

The nuget.exe command line tool may be downloaded directly from https://dist.nuget.org/win-x86-commandline/latest/nuget.exe, for example, using curl or PowerShell. With the tool, the latest version of Python for 64-bit or 32-bit machines is installed using:

nuget.exe install python -ExcludeVersion -OutputDirectory .
nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .

Για να επιλέξετε μια συγκεκριμένη έκδοση, προσθέστε ένα -Version 3.x.y. Ο κατάλογος εξόδου μπορεί να αλλάξει από ., και το πακέτο να εγκατασταθεί σε έναν υποκατάλογο. Από προεπιλογή, ο υποκατάλογος ονομάζεται όπως και το πακέτο, και χωρίς την επιλογή -ExcludeVersion, αυτό το όνομα θα περιλαμβάνει τη συγκεκριμένη έκδοση που έχει εγκατασταθεί. Μέσα στον υποκατάλογο υπάρχει ένας κατάλογος tools που περιέχει την εγκατάσταση Python:

# Without -ExcludeVersion
> .\python.3.5.2\tools\python.exe -V
Python 3.5.2

# With -ExcludeVersion
> .\python\tools\python.exe -V
Python 3.5.2

Γενικά, τα πακέτα nuget δεν μπορούν να αναβαθμιστούν και οι νεότερες εκδόσεις θα πρέπει να εγκατασταθούν δίπλα-δίπλα και να αναφέρονται χρησιμοποιώντας την πλήρη διαδρομή. Εναλλακτικά, διαγράψτε τον κατάλογο πακέτων με μη αυτόματο τρόπο και εγκαταστήστε τον ξανά. Πολλά συστήματα CI θα το κάνουν αυτόματα εάν δεν διατηρούν αρχεία μεταξύ των εκδόσεων.

Alongside the tools directory is a build\native directory. This contains an MSBuild properties file python.props that can be used in a C++ project to reference the Python install. Including the settings will automatically use the headers and import libraries in your build.

The package information pages on nuget.org are www.nuget.org/packages/python for the 64-bit version, www.nuget.org/packages/pythonx86 for the 32-bit version, and www.nuget.org/packages/pythonarm64 for the ARM64 version.

4.3.1. Πακέτα με ελεύθερα νήματα

Added in version 3.13.

Packages containing free-threaded binaries are named python-freethreaded for the 64-bit version, pythonx86-freethreaded for the 32-bit version, and pythonarm64-freethreaded for the ARM64 version. These packages contain both the python3.14t.exe and python.exe entry points, both of which run free-threaded.

4.4. Εναλλακτικά πακέτα

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

ActivePython

Πρόγραμμα εγκατάστασης με συμβατότητα πολλαπλών πλατφορμών, τεκμηρίωση, PyWin32

Anaconda

Δημοφιλείς επιστημονικά modules (όπως το numpy, scipy και pandas) και ο διαχειριστής πακέτων conda.

Enthought Deployment Manager

«Η επόμενη γενικά Διαχειριστή Περιβάλλοντος και Πακέτων Python».

Προηγουμένως, η Enthought παρείχε το Canopy, αλλά έφτασε στο τέλος της ζωής του το 2016.

WinPython

Διανομή ειδικά για Windows με προκατασκευασμένα επιστημονικά πακέτα και εργαλεία για την κατασκευή πακέτων.

Λάβετε υπόψη ότι αυτά τα πακέτα ενδέχεται να μην περιλαμβάνουν τις πιο πρόσφατες εκδόσεις της Python ή άλλες βιβλιοθήκες και δεν διατηρούνται ή υποστηρίζονται από την βασική ομάδα της Python.

4.5. Υποστηριζόμενες εκδόσεις των Windows

As specified in PEP 11, a Python release only supports a Windows platform while Microsoft considers the platform under extended support. This means that Python 3.14 supports Windows 10 and newer. If you require Windows 7 support, install Python 3.8. If you require Windows 8.1 support, install Python 3.12.

4.6. Αφαίρεση του περιορισμού MAX_PATH

Τα Windows έχουν ιστορικά περιορισμένα μήκη διαδρομής στους 260 χαρακτήρες. Αυτό σήμαινε ότι διαδρομές μεγαλύτερες από αυτό δεν θα επιλύονταν και θα προέκυπταν σφάλματα.

Στις πιο πρόσφατες εκδόσεις των Windows, αυτός ο περιορισμός μπορεί να επεκταθεί σε πάνω από 32.000 χαρακτήρες. Ο διαχειριστής σας θα πρέπει να ενεργοποιήσει την πολιτική ομάδας «Ενεργοποίηση μακρών διαδρομών Win32» ή να ορίσει το LongPathsEnabled σε 1 στο κλειδί μητρώου HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem.

Αυτό επιτρέπει στη συνάρτηση open(), στο module os και στις περισσότερες άλλες λειτουργίες διαδρομής να αποδέχονται και να επιστρέφουν διαδρομές μεγαλύτερες από 260 χαρακτήρες.

Μετά την αλλαγή της παραπάνω επιλογής, δεν απαιτείται περαιτέρω διαμόρφωση.

4.7. Λειτουργία UTF-8

Added in version 3.7.

Τα Windows εξακολουθούν να χρησιμοποιούν κωδικοποιήσεις παλαιού τύπου για την κωδικοποίηση του συστήματος (τη σελίδα κώδικα ANSI). Η Python τη χρησιμοποιεί για την προεπιλεγμένη κωδικοποίηση αρχείων κειμένου (π.χ. locale.getencoding()).

Αυτό μπορεί να προκαλέσει προβλήματα επειδή το UTF-8 χρησιμοποιείται ευρέως στο διαδίκτυο και στα περισσότερα συστήματα Unix, συμπεριλαμβανομένου του WSL (Windows Subsystem for Linux).

Μπορείτε να χρησιμοποιήσετε τη Python UTF-8 Mode για να αλλάξετε την προεπιλεγμένη κωδικοποίηση κειμένου σε UTF-8. Μπορείτε να ενεργοποιήσετε το Python UTF-8 Mode μέσω της επιλογής γραμμής εντολών -X utf8 ή της μεταβλητής περιβάλλοντος PYTHONUTF8=1. Βλέπε PYTHONUTF8 για την ενεργοποίηση της λειτουργίας UTF-8 και Διαχειριστής εγκατάστασης Python για τον τρόπο τροποποίηση μεταβλητών περιβάλλοντος.

Όταν η Python UTF-8 Mode είναι ενεργοποιημένη, μπορείτε ακόμα να χρησιμοποιήσετε την κωδικοποίηση συστήματος (τη σελίδα κώδικα ANSI) μέσω του κωδικοποιητή «mbcs».

Λάβετε υπόψη ότι η προσθήκη PYTHONUTF8=1 στις προεπιλεγμένες μεταβλητές περιβάλλοντος θα επηρεάσει όλες τις εφαρμογές Python 3.7+ στο σύστημα σας. Εάν έχετε οποιεσδήποτε εφαρμογές Python 3.7+ που βασίζονται στην κωδικοποίηση του συστήματος παλαιού τύπου, συνιστάται να ορίσετε το περιβάλλον μεταβλητή προσωρινά ή χρησιμοποιήστε την επιλογή γραμμής εντολών -X utf8.

Σημείωση

Ακόμη και όταν η λειτουργία UTF-8 είναι απενεργοποιημένη, η Python χρησιμοποιεί το UTF-8 από προεπιλογή στα Windows για:

  • I/O κονσόλας με τυπικό I/O (δείτε το PEP 528 για λεπτομέρειες).

  • Το filesystem encoding (δείτε το PEP 529 για λεπτομέρειες).

4.8. Εύρεση modules

Αυτές οι σημειώσεις συμπληρώνουν την περιγραφή The initialization of the sys.path module search path με λεπτομερείς σημειώσεις των Windows.

Όταν δεν βρεθεί αρχείο ._pth, συμπληρώνεται έτσι το sys.path στα Windows:

  • Μια κενή καταχώρηση προστίθεται στην αρχή, η οποία αντιστοιχεί στον τρέχοντα κατάλογο.

  • If the environment variable PYTHONPATH exists, as described in Environment variables, its entries are added next. Note that on Windows, paths in this variable must be separated by semicolons, to distinguish them from the colon used in drive identifiers (such as C:\).

  • Μπορούν να προστεθούν επιπλέον «διαδρομές εφαρμογής» στο μητρώο ως δευτερεύοντα κλειδιά του \SOFTWARE\Python\PythonCore{version}\PythonPath κάτω από τις κυψέλες HKEY_CURRENT_USER και HKEY_LOCAL_MACHINE. Τα δευτερεύοντα κλειδιά που έχουν ως προεπιλεγμένη τιμή συμβολοσειρές διαδρομής οριοθετημένη με ερωτηματικό θα προκαλέσει την προσθήκη κάθε διαδρομής στο sys.path. (Λάβετε υπόψη ότι όλα τα γνωστά προγράμματα εγκατάστασης χρησιμοποιούν μόνο HKLM, επομένως το HKCU είναι συνήθως κενό.)

  • If the environment variable PYTHONHOME is set, it is assumed as «Python Home». Otherwise, the path of the main Python executable is used to locate a «landmark file» (either Lib\os.py or pythonXY.zip) to deduce the «Python Home». If a Python home is found, the relevant sub-directories added to sys.path (such as Lib and plat-win) are based on that folder. Otherwise, the core Python path is constructed from the PythonPath stored in the registry.

  • If the Python Home cannot be located, no PYTHONPATH is specified in the environment, and no registry entries can be found, a default path with relative entries is used (for example, .\Lib;.\plat-win).

Εάν ένα αρχείο pyvenv.cfg βρίσκεται δίπλα στο κύριο εκτελέσιμο αρχείο ή στον κατάλογο ένα επίπεδο πάνω από το εκτελέσιμο αρχείο, ισχύουν οι ακόλουθες παραλλαγές:

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

Το τελικό αποτέλεσμα όλων αυτών είναι:

  • Όταν εκτελείται το python.exe, ή οποιοδήποτε άλλο .exe στον κύριο κατάλογο της Python (είτε μια εγκατεστημένη έκδοση, είτε απευθείας από τον κατάλογο PCbuild), συνάγεται η διαδρομή του πυρήνα και οι βασικές διαφορές στο μητρώο αγνοούνται. Άλλες «διαδρομές εφαρμογής» στο μητρώο διαβάζονται πάντα.

  • When Python is hosted in another .exe (for example, in a different directory or embedded via COM), the «Python Home» will not be deduced, so the core path from the registry is used. Other «application paths» in the registry are always read.

  • If Python can’t find its home and there are no registry values (frozen .exe, some very strange installation setup) you get a path with some default, but relative, paths.

Για όσους θέλουν να ενσωματώσουν την Python στην εφαρμογή ή την διανομή τους, οι ακόλουθες συμβουλές θα αποτρέψουν τις διενέξεις με άλλες εγκαταστάσεις:

  • Συμπεριλάβετε ένα αρχείο ._pth δίπλα στο εκτελέσιμο αρχείο σας που περιέχει τους καταλόγους που θέλετε να συμπεριλάβετε. Αυτό θα αγνοήσει τις διαδρομές που παρατίθενται στο μητρώο και τις μεταβλητές περιβάλλοντος και θα αγνοήσει επίσης το site εκτός εάν αναφέρεται το import site.

  • If you are loading python3.dll or python314.dll in your own executable, explicitly set PyConfig.module_search_paths before Py_InitializeFromConfig().

  • Διαγράψτε και/ή αντικαταστήστε το PYTHONPATH και ορίστε το PYTHONHOME πριν από την εκκίνηση του python.exe από την εφαρμογή σας.

  • Εάν δεν μπορείτε να χρησιμοποιήσετε τις προηγούμενες προτάσεις (για παράδειγμα, είστε μια διανομή που επιτρέπει στους χρήστες να εκτελούν απευθείας το python.exe), βεβαιωθείτε ότι το αρχείο ορόσημο (Lib\os.py) υπάρχει στον κατάλογο εγκατάστασης σας. (Λάβετε υπόψη ότι δεν θα εντοπιστεί σε ένα αρχείο ZIP, αλλά θα εντοπιστεί ένα αρχείο ZIP με το σωστό όνομα.)

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

Άλλαξε στην έκδοση 3.6: Add ._pth file support and remove applocal option from pyvenv.cfg.

Άλλαξε στην έκδοση 3.6: Προσθήκη pythonXX.zip ως πιθανό ορόσημο όταν βρίσκεται ακριβώς δίπλα στο εκτελέσιμο αρχείο.

Αποσύρθηκε στην έκδοση 3.6: Τα modules που καθορίζονται στο μητρώο στην περιοχή Modules (όχι PythonPath) μπορούν να εισαχθούν από το importlib.machinery.WindowsRegistryFinder. Αυτό το πρόγραμμα εύρεσης είναι ενεργοποιημένο στα Windows σε 3.6.0 και παλαιότερες εκδόσεις, αλλά ενδέχεται να πρέπει να προστεθεί ρητά στο sys.meta_path στο μέλλον.

4.9. Πρόσθετα modules

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

Τα τυπικά modules ειδικά για Windows τεκμηριώνονται στο MS Windows Specific Services.

4.9.1. PyWin32

Το module PyWin32 του Mark Hammond είναι μια συλλογή από modules για προηγμένη υποστήριξη ειδικά για Windows. Αυτό περιλαμβάνει βοηθητικά προγράμματα για:

Το PythonWin είναι ένα δείγμα εφαρμογής MFC που αποστέλλεται με το PyWin32. Είναι ένα ενσωματωμένο IDE με ενσωματωμένο πρόγραμμα εντοπισμού σφαλμάτων.

Δείτε επίσης

Win32 How Do I…?

από τον Tim Golden

Python and COM

από τους David και Paul Boddie

4.9.2. cx_Freeze

Το cx_Freeze αναδιπλώνει Python scripts σε εκτελέσιμα προγράμματα των Windows (*.exe αρχεία). Όταν το κάνετε αυτό, μπορείτε να διανείμετε την εφαρμογή σας χωρίς να απαιτείται από τους χρήστες σας να εγκαταστήσουν την Python.

4.10. Μεταγλώττιση Python στα Windows

Εάν θέλετε να μεταγλωττίσετε μόνοι σας το CPython, το πρώτο πράγμα που πρέπει να κάνετε είναι να λάβετε το source. Μπορείτε να κάνετε λήψη είτε τον πηγαίο κώδικα της πιο πρόσφατης έκδοσης είτε απλώς να πάρετε μια φρέσκια έκδοση checkout.

Το δέντρο προέλευσης περιέχει μια λύση έκδοσης και αρχεία έργου για το Microsoft Visual Studio, που είναι ο μεταγλωττιστής που χρησιμοποιείται για τη δημιουργία των επίσημων εκδόσεων Python. Αυτά τα αρχεία βρίσκονται στον κατάλογο PCbuild.

Ελέγξτε το PCbuild/readme.txt για γενικές πληροφορίες σχετικά με τη διαδικασία κατασκευής.

Για modules επέκτασης, συμβουλευτείτε το Building C and C++ Extensions on Windows.

4.11. Το πλήρες πρόγραμμα εγκατάστασης

Αποσύρθηκε στην έκδοση 3.14: Αυτό το πρόγραμμα εγκατάστασης έχει αποσυρθεί από την έκδοση 3.14 και δεν θα παραχθεί για την Python 3.16 ή νεότερη έκδοση. Δείτε το Διαχειριστής εγκατάστασης Python για το σύγχρονο πρόγραμμα εγκατάστασης.

4.11.1. Βήματα Εγκατάστασης

Τέσσερα προγράμματα εγκατάστασης Python 3.14 είναι διαθέσιμα για λήψη - δύο το καθένα για τις εκδόσεις 32-bit και 64-bit του διερμηνέα. Το πρόγραμμα εγκατάστασης web είναι μια αρχική λήψη και θα πραγματοποιήσει αυτόματα λήψη των απαιτούμενων στοιχείων, όπως απαιτείται. Το πρόγραμμα εγκατάστασης εκτός σύνδεσης περιλαμβάνει τα στοιχεία που είναι απαραίτητα για μια προεπιλεγμένη εγκατάσταση και απαιτεί μόνο σύνδεση στο διαδίκτυο για προαιρετικές λειτουργίες. Δείτε το Εγκατάσταση χωρίς λήψη για άλλους τρόπους αποφυγής λήψης κατά την εγκατάσταση.

Μετά την εκκίνηση του προγράμματος εγκατάστασης, μπορεί να επιλέγει μία από τις δύο επιλογές:

../_images/win_installer.png

Εάν επιλέξετε «Install Now»:

  • Δεν θα χρειάζεται να είστε διαχειριστής (εκτός εάν απαιτείται ενημέρωση συστήματος για τη Βιβλιοθήκη C Runtime ή εγκαταστήσετε το Διαχειριστής εγκατάστασης Python για όλους τους χρήστες)

  • Η Python θα εγκατασταθεί στον κατάλογο του χρήστη σας

  • Το Διαχειριστής εγκατάστασης Python θα εγκατασταθεί σύμφωνα με την επιλογή στο κάτω μέρος της πρώτης σελίδας

  • Θα εγκατασταθεί η τυπική βιβλιοθήκη, η δοκιμαστική σουίτα, ο εκκινητής και το pip

  • Εάν επιλεγεί, ο κατάλογος εγκατάστασης θα προστεθεί στο PATH σας

  • Οι συντομεύσεις θα είναι ορατές μόνο για τον τρέχοντα χρήστη

Επιλέγοντας «Customize installation» θα σας επιτρέψει να επιλέξετε τις λειτουργίες προς εγκατάσταση, τη θέση εγκατάστασης και άλλες επιλογές ή ενέργειες μετά την εγκατάσταση. Για να εγκαταστήσετε σύμβολα εντοπισμού σφαλμάτων ή δυαδικά αρχεία, θα χρειαστεί να χρησιμοποιήσετε αυτήν την επιλογή.

Για να εκτελέσετε μια εγκατάσταση για όλους τους χρήστες, θα πρέπει να επιλέξετε «Customize installation». Σε αυτήν την περίπτωση:

  • Ενδέχεται να σας ζητηθεί να παρέχετε διαπιστευτήρια διαχείρισης ή έγκριση

  • Η Python θα εγκατασταθεί στον κατάλογο Program Files

  • Το Διαχειριστής εγκατάστασης Python θα εγκατασταθεί στον κατάλογο των Windows

  • Προαιρετικά χαρακτηριστικά μπορούν να επιλεγούν κατά την εγκατάσταση

  • Η τυπική βιβλιοθήκη μπορεί να προ-μεταγλωττιστεί σε bytecode

  • Εάν επιλεγεί, ο κατάλογος εγκατάστασης θα προστεθεί στο σύστημα PATH

  • Οι συντομεύσεις είναι διαθέσιμες για όλους τους χρήστες

4.11.2. Αφαίρεση του περιορισμού MAX_PATH

Τα Windows έχουν ιστορικά περιορισμένα μήκη διαδρομής στους 260 χαρακτήρες. Αυτό σήμαινε ότι διαδρομές μεγαλύτερες από αυτό δεν θα επιλύονταν και θα προέκυπταν σφάλματα.

Στις πιο πρόσφατες εκδόσεις των Windows, αυτός ο περιορισμός μπορεί να επεκταθεί σε περίπου 32.000 χαρακτήρες. Ο διαχειριστής σας θα πρέπει να ενεργοποιήσει την πολιτική ομάδας «Enable Win32 long paths», ή να ορίσει LongPathsEnabled σε 1 το κλειδί μητρώου HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem.

Αυτό επιτρέπει στη συνάρτηση open(), στο module os και στις περισσότερες άλλες λειτουργίες διαδρομής να αποδέχονται και να επιστρέφουν διαδρομές μεγαλύτερες από 260 χαρακτήρες.

Μετά την αλλαγή της παραπάνω επιλογής, δεν απαιτείται περαιτέρω διαμόρφωση.

Άλλαξε στην έκδοση 3.6: Η υποστήριξη για μεγάλες διαδρομές ήταν ενεργοποιημένη στην Python.

4.11.3. Εγκατάσταση χωρίς περιβάλλον διεπαφής χρήστη

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

Οι ακόλουθες επιλογές (που βρίσκονται εκτελώντας το πρόγραμμα εγκατάστασης με /?) μπορούν να περάσουν στο πρόγραμμα εγκατάστασης:

Όνομα

Περιγραφή

/passive

για εμφάνιση προόδου χωρίς να απαιτείται αλληλεπίδραση με τον χρήστη

/quiet

για εγκατάσταση/απεγκατάσταση χωρίς εμφάνιση διεπαφής χρήστη

/simple

για να αποτρέψετε την προσαρμογή του χρήστη

/uninstall

για να αφαιρέσετε την Python (χωρίς επιβεβαίωση)

/layout [κατάλογος]

για προ-λήψη όλων των στοιχείων

/log [όνομα αρχείου]

για να καθορίσετε τη θέση των αρχείων καταγραφής

Όλες οι άλλες επιλογές μεταβιβάζονται ως name=value, όπου η τιμή είναι συνήθως 0 για να απενεργοποιήσετε ένα χαρακτηριστικό, 1 για να ενεργοποιήσετε ένα χαρακτηριστικό ή μια διαδρομή. Η πλήρης λίστα των διαθέσιμων επιλογών φαίνεται παρακάτω.

Όνομα

Περιγραφή

Προεπιλογή

InstallAllUsers

Εκτέλεση εγκατάστασης σε όλο το σύστημα.

0

TargetDir

Ο κατάλογος εγκατάστασης

Επιλέχθηκε με βάση το InstallAllUsers

DefaultAllUsersTargetDir

Ο προεπιλεγμένος κατάλογος εγκατάστασης για τις εγκαταστάσεις όλων των χρηστών

%ProgramFiles%\Python X.Y or %ProgramFiles(x86)%\Python X.Y

DefaultJustForMeTargetDir

Ο προεπιλεγμένος κατάλογος εγκατάστασης για εξατομικευμένες εγκαταστάσεις

%LocalAppData%\Programs\Python\PythonXY or %LocalAppData%\Programs\Python\PythonXY-32 or %LocalAppData%\Programs\Python\PythonXY-64

DefaultCustomTargetDir

Ο προεπιλεγμένος κατάλογος προσαρμοσμένης εγκατάστασης που εμφανίζεται στο UI

(empty)

AssociateFiles

Δημιουργήστε συσχετίσεις αρχείων εάν είναι επίσης εγκατεστημένο το πρόγραμμα εκκίνησης.

1

CompileAll

Μεταγλώττιση όλων των αρχείων .py σε .pyc.

0

PrependPath

Προετοιμάστε τους καταλόγους εγκατάστασης και Scripts στο PATH και προσθέστε το .PY στο PATHEXT

0

AppendPath

Προσθήκη καταλόγων εγκατάστασης και Scripts σε PATH και προσθήκη .PY σε PATHEXT

0

Συντομεύσεις

Δημιουργήστε συντομεύσεις για τον διερμηνέα, την τεκμηρίωση και το IDLE εάν είναι εγκατεστημένα.

1

Include_doc

Εγκαταστήστε το εγχειρίδιο της Python

1

Include_debug

Εγκαταστήστε δυαδικά αρχεία εντοπισμού σφαλμάτων

0

Include_dev

Εγκατάσταση κεφαλίδων και βιβλιοθηκών προγραμματιστή. Η παράλειψη αυτού μπορεί να οδηγήσει σε μη χρησιμοποιήσιμη εγκατάσταση.

1

Include_exe

Εγκατάσταση python.exe και σχετικών αρχείων. Η παράλειψη αυτού μπορεί να οδηγήσει σε μη χρησιμοποιήσιμη εγκατάσταση.

1

Include_launcher

Εγκαταστήστε το Διαχειριστής εγκατάστασης Python.

1

InstallLauncherAllUsers

Εγκαθιστά το πρόγραμμα εκκίνησης για όλους του χρήστες. Επίσης, απαιτείται η ρύθμιση Include_launcher να τεθεί σε 1

1

Include_lib

Εγκαταστήστε τυπικά module βιβλιοθήκης και επέκτασης. Η παράλειψη αυτού μπορεί να οδηγήσει σε μη χρησιμοποιήσιμη εγκατάσταση.

1

Include_pip

Εγκαταστήστε το πακέτο pip και setuptools

1

Include_symbols

Εγκατάσταση συμβόλων εντοπισμού σφαλμάτων (*.pdb)

0

Include_tcltk

Εγκατάσταση υποστήριξης Tcl/Tk και IDLE

1

Include_test

Εγκαταστήστε την τυπική σουίτα δοκιμών βιβλιοθήκης

1

Include_tools

Εγκαταστήστε βοηθητικά scripts

1

LauncherOnly

Εγκαθιστά μόνο το πρόγραμμα εκκίνησης. Αυτό θα παρακάμψει τις περισσότερες άλλες επιλογές.

0

SimpleInstall

Απενεργοποιήστε τις περισσότερες διεπαφές εγκατάστασης

0

SimpleInstallDescription

Ένα προσαρμοσμένο μήνυμα που θα εμφανίζεται όταν χρησιμοποιείται το απλοποιημένο περιβάλλον διεπαφής χρήστη.

(empty)

Για παράδειγμα, για να εγκαταστήσετε αθόρυβα μια προεπιλεγμένη εγκατάσταση Python σε όλο το σύστημα, θα μπορούσατε να χρησιμοποιήσετε την ακόλουθη εντολή (από μια ανυψωμένη γραμμή εντολών):

python-3.9.0.exe /quiet InstallAllUsers=1 PrependPath=1 Include_test=0

Για να επιτρέψετε στους χρήστες να εγκαταστήσουν εύκολα ένα προσωπικό αντίγραφο της Python χωρίς τη δοκιμαστική σουίτα, θα μπορούσατε να παρέχετε μια συντόμευση με την ακόλουθη εντολή. Αυτή θα εμφανίσει μια απλοποιημένη αρχική σελίδα και θα απαγορεύσει την προσαρμογή:

python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0
    SimpleInstall=1 SimpleInstallDescription="Just for me, no test suite."

(Λάβετε υπόψη ότι η παράλειψη της εφαρμογής εκκίνησης παραλείπει επίσης συσχετίσεις αρχείων και συνίσταται μόνο για εγκαταστάσεις ανά χρήστη όταν υπάρχει επίσης εγκατάσταση σε όλο το σύστημα που περιλάμβανε τη λειτουργία εκκίνησης.)

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

<Options>
    <Option Name="InstallAllUsers" Value="no" />
    <Option Name="Include_launcher" Value="0" />
    <Option Name="Include_test" Value="no" />
    <Option Name="SimpleInstall" Value="yes" />
    <Option Name="SimpleInstallDescription">Just for me, no test suite</Option>
</Options>

4.11.4. Εγκατάσταση χωρίς λήψη

Καθώς ορισμένες δυνατότητες της Python δεν περιλαμβάνονται στην αρχική λήψη του προγράμματος εγκατάστασης, η επιλογή αυτών των δυνατοτήτων ενδέχεται να απαιτεί σύνδεση στο διαδίκτυο. Για να αποφευχθεί αυτή η ανάγκη, όλα τα πιθανά στοιχεία μπορούν να ληφθούν κατ” απαίτηση για να δημιουργηθεί μια πλήρης διάταξη που δεν θα απαιτεί πλέον μια σύνδεση στο Διαδίκτυο, ανεξάρτητα από τις επιλεγμένες δυνατότητες. Λάβετε υπόψη ότι αυτή η λήψη μπορεί να είναι μεγαλύτερη από την απαιτούμενη, αλλά όπου πρόκειται να πραγματοποιηθεί μεγάλος αριθμός εγκαταστάσεων, είναι πολύ χρήσιμο να έχετε ένα αντίγραφο προσωρινής αποθήκευσης.

Εκτελέστε την ακόλουθη εντολή από τη Γραμμή Εντολών για λήψη όλων των πιθανών απαιτούμενων αρχείων. Θυμηθείτε να αντικαταστήσετε το python-3.9.0.exe για το πραγματικό όνομα του προγράμματος εγκατάστασης και να δημιουργήσετε διατάξεις στους δικούς τους καταλόγους για να αποφύγετε συγκρούσεις μεταξύ αρχείων με το ίδιο όνομα.

python-3.9.0.exe /layout [optional target directory]

Μπορείτε επίσης να καθορίσετε την επιλογή /quiet για απόκρυψη της εμφάνισης προόδου.

4.11.5. Τροποποίηση εγκατάστασης

Μόλις εγκατασταθεί η Python, μπορείτε να προσθέσετε ή να αφαιρέσετε λειτουργίες μέσω του εργαλείου Προγράμματα και Δυνατότητες που είναι μέρος των Windows. Επιλέξτε την καταχώρηση Python και επιλέξτε «Κατάργηση εγκατάστασης/Αλλαγή» για να ανοίξετε το πρόγραμμα εγκατάστασης σε λειτουργία συντήρησης.

Η «Αλλαγή» σάς επιτρέπει να προσθέτετε ή να αφαιρείτε λειτουργίες τροποποιώντας τα πλαίσια ελέγχου - τα αμετάβλητα πλαίσια ελέγχου δεν θα εγκαταστήσουν ή θα αφαιρέσουν τίποτα. Ορισμένες επιλογές δεν μπορούν να αλλάξουν σε αυτήν τη λειτουργία, όπως ο κατάλογος εγκατάστασης· για να τις τροποποιήσετε, θα χρειαστεί αν αφαιρέσετε και, στη συνέχεια να επανεγκαταστήσετε ξανά την Python.

Η «Επιδιόρθωση» θα επαληθεύσει όλα τα αρχεία που πρέπει να εγκατασταθούν χρησιμοποιώντας τις τρέχουσες ρυθμίσεις και θα αντικαταστήσει όσα έχουν αφαιρεθεί ή τροποποιηθεί.

Η «Κατάργηση εγκατάστασης» θα καταργήσει πλήρως την Python, με εξαίρεση το Διαχειριστής εγκατάστασης Python, το οποίο έχει τη δική του καταχώριση στο Προγράμματα και Δυνατότητες.

4.11.6. Εγκατάσταση Δυαδικών Αρχείων με Ελεύθερα Νήματα

Added in version 3.13.

Για να εγκαταστήσετε προ-κατασκευασμένα δυαδικά αρχεία με ενεργοποιημένο το free-threading (δείτε το PEP 703), θα πρέπει να επιλέξετε «Προσαρμοσμένη εγκατάσταση». Η δεύτερη σελίδα επιλογών περιλαμβάνει το πλαίσιο επιλογής «Λήψη δυαδικών αρχείων με ελεύθερο νήμα».

../_images/win_install_freethreaded.png

Η επιλογή αυτής της επιλογής θα κατεβάσει και θα εγκαταστήσει πρόσθετα δυαδικά αρχεία στην ίδια τοποθεσία με την κύρια εγκατάσταση Python. Το κύριο εκτελέσιμο αρχείο ονομάζεται python3.13t.exe, και άλλα δυαδικά αρχεία είτε λαμβάνουν μια κατάληξη t είτε μια πλήρη κατάληξη ABI. Τα αρχεία πηγαίου κώδικα Python και οι ενσωματωμένες εξαρτήσεις τρίτων μοιράζονται με την κύρια εγκατάσταση.

Η έκδοση με ελεύθερο νήμα καταχωρείται ως κανονική εγκατάσταση Python με την ετικέτα 3.13t (με κατάληξη -32 ή -arm64 ως κανονική για αυτές τις πλατφόρμες). Αυτό επιτρέπει στα εργαλεία να την ανακαλύψουν και για το Διαχειριστής εγκατάστασης Python να υποστηρίζει το py.exe -3.13t. Σημειώστε ότι το πρόγραμμα εκκίνησης θα ερμηνεύσει το py.exe -3 (ή ένα shebang python3) ως «την τελευταία εγκατάσταση 3.x», η οποία θα προτιμήσει τα δυαδικά αρχεία με ελεύθερο νήμα έναντι των κανονικών, ενώ το py.exe -3.13 δεν θα το κάνει. Εάν χρησιμοποιείτε το σύντομο στυλ επιλογής, μπορεί να προτιμάτε να μην εγκαταστήσετε τα δυαδικά αρχεία με ελεύθερο νήμα αυτή τη στιγμή.

Για να καθορίσετε την επιλογή εγκατάστασης στη γραμμή εντολών, χρησιμοποιήστε Include_freethreaded=1. Δείτε Εγκατάσταση χωρίς λήψη για οδηγίες σχετικά με την προληπτική λήψη των πρόσθετων δυαδικών αρχείων για εγκατάσταση εκτός σύνδεσης. Οι επιλογές για την συμπερίληψη συμβόλων και δυαδικών αρχείων εντοπισμού σφαλμάτων ισχύουν επίσης για τις κατασκευές με ελεύθερο νήμα.

Τα δυαδικά αρχεία με ελεύθερο νήμα είναι επίσης διαθέσιμα στο nuget.org.

4.12. Το πρόγραμμα εκκίνησης Python για Windows (Απαρχαιωμένο)

Αποσύρθηκε στην έκδοση 3.14: Το πρόγραμμα εκκίνησης και αυτή η τεκμηρίωση έχουν αντικατασταθεί από το Python Install Manager που περιγράφεται παραπάνω. Αυτό διατηρείται προσωρινά για ιστορικό ενδιαφέρον.

Added in version 3.3.

Το πρόγραμμα εκκίνησης Python για Windows είναι ένα βοηθητικό πρόγραμμα που βοηθά στον εντοπισμό και την εκτέλεση διαφορετικών εκδόσεων Python. Επιτρέπει στα scripts (ή στη γραμμή εντολών) να υποδείξουν μια προτίμηση για μια συγκεκριμένη έκδοση Python και θα εντοπίσουν και θα εκτελέσουν αυτήν την έκδοση.

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

Το πρόγραμμα εκκίνησης προσδιορίστηκε αρχικά στο PEP 397.

4.12.1. Ξεκινώντας

4.12.1.1. Από τη γραμμή εντολών

Άλλαξε στην έκδοση 3.6.

Εγκαταστάσεις σε όλο το σύστημα της Python 3.3 και νεότερες εκδόσεις θα τοποθετήσουν το πρόγραμμα εκκίνησης στο PATH. Το πρόγραμμα εκκίνησης είναι συμβατό με όλες τις διαθέσιμες εκδόσεις της Python, επομένως δεν έχει σημασία ποια έκδοση είναι εγκατεστημένη. Για να ελέγξτε ότι το πρόγραμμα εκκίνησης είναι διαθέσιμο, εκτελέστε την ακόλουθη εντολή στη Γραμμή Εντολών:

py

Θα πρέπει να διαπιστώσετε ότι η πιο πρόσφατη έκδοση της Python που έχετε εγκαταστήσει έχει ξεκινήσει - μπορεί να βγει κανονικά και τυχόν πρόσθετα ορίσματα γραμμής εντολών που καθορίστηκαν θα σταλούν απευθείας στην Python.

Εάν έχετε εγκαταστήσει πολλές εκδόσεις της Python (π.χ. 3.7 και 3.14) θα έχετε παρατηρήσει ότι ξεκίνησε η Python 3.14 - για να εκκινήσετε την Python 3.7, δοκιμάστε την εντολή:

py -3.7

Αν θέλετε την πιο πρόσφατη έκδοση της Python 2 που έχετε εγκαταστήσει, δοκιμάστε την εντολή:

py -2

Αν δείτε το ακόλουθο σφάλμα, δεν έχετε εγκαταστήσει τον εκκινητή (launcher):

Το 'py' δεν αναγνωρίζεται ως εσωτερική ή εξωτερική εντολή,
λειτουργικό πρόγραμμα ή αρχείο παρτίδας.

Η εντολή:

py --list

εμφανίζει τις τρέχουσες εγκατεστημένες εκδόσεις της Python.

Το όρισμα -x.y είναι η σύντομη μορφή του ορίσματος -V:Company/Tag, το οποίο επιτρέπει την επιλογή ενός συγκεκριμένου χρόνου εκτέλεσης Python, συμπεριλαμβανομένων εκείνων που μπορεί να έχουν προέλθει από κάπου διαφορετικά από το python.org. Οποιοσδήποτε χρόνος εκτέλεσης έχει καταχωρηθεί ακολουθώντας το PEP 514 θα είναι ανιχνεύσιμος. Η εντολή --list παραθέτει όλους τους διαθέσιμους χρόνους εκτέλεσης χρησιμοποιώντας τη μορφή -V:.

Όταν χρησιμοποιείται το όρισμα -V:, ο καθορισμός της Εταιρείας θα περιορίσει την επιλογή σε χρόνους εκτέλεσης από αυτόν τον πάροχο, ενώ ο καθορισμός μόνο της ετικέτας θα επιλέγεται από όλους τους παρόχους. Σημειώστε ότι η παράλειψη της καθέτου (slash) συνεπάγεται μια ετικέτα:

# Select any '3.*' tagged runtime
py -V:3

# Select any 'PythonCore' released runtime
py -V:PythonCore/

# Select PythonCore's latest Python 3 runtime
py -V:PythonCore/3

Η σύντομη μορφή του ορίσματος (-3) επιλέγει μόνο από τις βασικές εκδόσεις Python, και όχι άλλες διανομές. Ωστόσο, η μεγαλύτερη μορφή (-V:3) θα επιλέξει από οποιαδήποτε.

Η εταιρεία έχει αντιστοιχιστεί στην πλήρη συμβολοσειρά, χωρίς διάκριση πεζών-κεφαλαίων. Η ετικέτα αντιστοιχίζεται είτε με την πλήρη συμβολοσειρά είτε με ένα πρόθεμα, με την προϋπόθεση ότι ο επόμενος χαρακτήρας είναι μια τελεία ή μια παύλα. Αυτό επιτρέπει την αντιστοίχιση του -V:3.1 με το 3.1-32, αλλά όχι 3.10. Οι ετικέτες ταξινομούνται με αριθμητική σειρά (3.10 είναι νεότερο από 3.1), αλλά συγκρίνονται χρησιμοποιώντας κείμενο (-V:3.01 δεν ταιριάζει με το 3.1).

4.12.1.2. Εικονικά Περιβάλλοντα

Added in version 3.5.

Εάν το πρόγραμμα εγκατάστασης εκτελείται χωρίς ρητές προδιαγραφές έκδοσης Python και ένα εικονικό περιβάλλον (δημιουργημένο με το τυπικό module βιβλιοθήκης venv ή το εξωτερικό εργαλείο virtualenv) ενεργό, το πρόγραμμα εκκίνησης θα εκτελέσει τον διερμηνέα του εικονικού περιβάλλοντος αντί για το καθολικό. Για να εκτελέσετε τον καθολικό διερμηνέα, είτε απενεργοποιήστε το εικονικό περιβάλλον είτε καθορίστε ρητά την καθολική έκδοση Python.

4.12.1.3. Από ένα script

Ας δημιουργήσουμε ένα δοκιμαστικό Python script - δημιουργήστε ένα αρχείο που ονομάζεται hello.py με τα ακόλουθα περιεχόμενα

#! python
import sys
sys.stdout.write("hello from Python %s\n" % (sys.version,))

Από τον κατάλογο στον οποίο ζει το hello.py, εκτελέστε την εντολή:

py hello.py

Θα πρέπει να παρατηρήσετε ότι ο αριθμός έκδοσης της τελευταίας εγκατάστασης Python 2.x έχει εκτυπωθεί. Τώρα δοκιμάστε να αλλάξετε την πρώτη γραμμή σε:

#! python3

Η επανεκτέλεση της εντολής θα πρέπει τώρα να εκτυπώσει τις πιο πρόσφατες πληροφορίες Python 3.x. Όπως και με τα παραπάνω παραδείγματα γραμμής εντολών, μπορείτε να καθορίσετε έναν πιο σαφή προσδιορισμό έκδοσης. Υποθέτοντας ότι έχετε εγκαταστήσει την Python 3.7, δοκιμάστε να αλλάξετε την πρώτη γραμμή σε #! python3.7 και θα πρέπει να βρείτε τυπωμένες τις πληροφορίες της έκδοσης 3.7.

Λάβετε υπόψη ότι σε αντίθεση με τη διαδραστική χρήση, ένα γυμνό «python» θα χρησιμοποιεί την πιο πρόσφατη έκδοση της Python 2.x που έχετε εγκαταστήσει. Αυτή είναι μια συμβατότητα προς τα πίσω και για συμβατότητα με Unix, όπου συνήθως αναφέρεται η εντολή python στην Python 2.

4.12.1.4. Από συσχετίσεις αρχείων

Το πρόγραμμα εκκίνησης θα έπρεπε να είχε συσχετιστεί με αρχεία Python (δηλαδή αρχεία .py, .pyw, .pyc) όταν εγκαταστάθηκε. Αυτό σημαίνει ότι όταν κάνετε διπλό κλικ σε ένα από αυτά τα αρχεία από τον Windows Explorer, το πρόγραμμα εκκίνησης θα χρησιμοποιηθεί και επομένως μπορείτε να χρησιμοποιήσετε τις ίδιες ευκολίες που περιγράφονται παραπάνω για να έχετε το script να καθορίζει ποια έκδοση θα χρησιμοποιηθεί.

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

4.12.2. Γραμμές Shebang

Εάν η πρώτη γραμμή ενός script αρχείου ξεκινά με #!, είναι γνωστή ως γραμμή «shebang». Το Linux και άλλα Unix λειτουργικά συστήματα έχουν εγγενή υποστήριξη για τέτοιες γραμμές και χρησιμοποιούνται συνήθως σε τέτοιες γραμμές συστήματα για να υποδείξουν πως πρέπει να εκτελεστεί ένα script. Αυτό το πρόγραμμα εκκίνησης επιτρέπει τη χρήση των ίδιων εγκαταστάσεων με Python scripts στα Windows και τα παραπάνω παραδείγματα δείχνουν τη χρήση τους.

Για να επιτραπεί στις γραμμές shebang σε Python scripts να είναι φορητές μεταξύ Unix και Windows, αυτό το πρόγραμμα εκκίνησης υποστηρίζει έναν αριθμό “εικονικών” εντολών για να καθορίσει ποιος διερμηνέας θα χρησιμοποιηθεί. Οι υποστηριζόμενες εικονικές εντολές είναι:

  • /usr/bin/env

  • /usr/bin/python

  • /usr/local/bin/python

  • python

Για παράδειγμα, εάν η πρώτη γραμμή του script σας ξεκινά με

#! /usr/bin/python

Η προεπιλεγμένη Python ή ένα ενεργό εικονικό περιβάλλον θα εντοπιστεί και θα χρησιμοποιηθεί. Καθώς πολλά Python scripts που έχουν γραφεί για να λειτουργούν σε Unix θα έχουν ήδη αυτή τη γραμμή, θα διαπιστώσετε ότι αυτά τα σενάρια μπορούν να χρησιμοποιηθούν από τον εκκινητή χωρίς τροποποίηση. Εάν γράφετε ένα νέο σενάριο στα Windows που ελπίζετε να είναι χρήσιμο σε Unix, θα πρέπει να χρησιμοποιήσετε μία από τις γραμμές shebang που ξεκινούν με /usr.

Οποιαδήποτε από τις παραπάνω εικονικές εντολές μπορεί να προστεθεί με μια ρητή έκδοση (είτε μόνο η κύρια έκδοση, είτε η κύρια και δευτερεύουσα έκδοση). Επιπλέον, η έκδοση 32-bit μπορεί να ζητηθεί προσθέτοντας «-32» μετά τη δευτερεύουσα έκδοση. Δηλαδή /usr/bin/python3.7-32 θα ζητήσει τη χρήση της python 3.7. Εάν ένα εικονικό περιβάλλον είναι ενεργό, η έκδοση θα αγνοηθεί και θα χρησιμοποιηθεί το περιβάλλον.

Added in version 3.7: Ξεκινώντας με το πρόγραμμα εκκίνησης Python 3.7, είναι δυνατό να ζητηθεί η έκδοση 64-bit με το επίθημα «-64». Επιπλέον, είναι δυνατό να καθοριστεί μια κύρια έκδοση και μια αρχιτεκτονική χωρίς δευτερεύοντα (δηλαδή /usr/bin/python3-64).

Άλλαξε στην έκδοση 3.11: Το επίθημα «-64» έχει καταργηθεί, και τώρα υποδηλώνει «οποιαδήποτε αρχιτεκτονική που δεν είναι αποδεδειγμένα i386/32-bit». Για να ζητήσετε ένα συγκεκριμένο περιβάλλον, χρησιμοποιήστε το νέο -V:TAG όρισμα με την πλήρη ετικέτα.

Άλλαξε στην έκδοση 3.13: Οι εικονικές εντολές που αναφέρονται σε python προτιμούν πλέον ένα ενεργό εικονικό περιβάλλον αντί να αναζητούν το PATH. Αυτό χειρίζεται περιπτώσεις όπου το shebang καθορίζει /usr/bin/env python3 αλλά το python3.exe δεν υπάρχει στο ενεργό περιβάλλον.

Η φόρμα /usr/bin/env της γραμμής shebang έχει μια επιπλέον ειδική ιδιότητα. Πριν αναζητήσετε εγκατεστημένους διερμηνείς Python, αυτή η φόρμα θα αναζητήσει στο εκτελέσιμο αρχείο PATH για ένα εκτελέσιμο αρχείο Python που ταιριάζει με το όνομα που παρέχεται ως το πρώτο όρισμα. Αυτό αντιστοιχεί στη συμπεριφορά του προγράμματος Unix env, το οποίο εκτελεί μια αναζήτηση PATH. Εάν δεν μπορεί να βρεθεί ένα εκτελέσιμο αρχείο που ταιριάζει με το πρώτο όρισμα μετά την εντολή env, αλλά το όρισμα ξεκινά με python, ο χειρισμός του θα γίνει όπως περιγράφεται για τις άλλες εικονικές εντολές. Η μεταβλητή περιβάλλοντος PYLAUNCHER_NO_SEARCH_PATH μπορεί να οριστεί (σε οποιαδήποτε τιμή) για να παραλείψει αυτήν την αναζήτηση για PATH.

Οι γραμμές Shebang που δεν ταιριάζουν με κανένα από αυτά τα μοτίβα αναζητούνται στην ενότητα [commands] του προγράμματος εκκίνησης .INI file. Αυτό μπορεί να χρησιμοποιηθεί για τον χειρισμό ορισμένων εντολών με τρόπο που να έχει νόημα για το σύστημά σας. Το όνομα της εντολής πρέπει να είναι ένα μεμονωμένο όρισμα (δεν υπάρχουν κενά στο εκτελέσιμο αρχείο shebang) και η τιμή που αντικαθίσταται είναι η πλήρης διαδρομή προς το εκτελέσιμο (τα πρόσθετα ορίσματα που καθορίζονται στο .INI θα αναφέρονται ως μέρος του ονόματος αρχείου).

[commands]
/bin/xpython=C:\Program Files\XPython\python.exe

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

4.12.3. Ορίσματα στις γραμμές shebang

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

#! /usr/bin/python -v

Στη συνέχεια, η Python θα ξεκινήσει με την επιλογή -v

4.12.4. Προσαρμογή

4.12.4.1. Προσαρμογή μέσω αρχείων INI

Θα γίνει αναζήτηση δύο αρχείων .ini από το πρόγραμμα εκκίνησης - py.ini στον κατάλογο δεδομένων εφαρμογής του τρέχοντος χρήστη (%LOCALAPPDATA% ή $env:LocalAppData) και py.ini στον ίδιο κατάλογο με το πρόγραμμα εκκίνησης. Τα ίδια αρχεία .ini χρησιμοποιούνται τόσο για την έκδοση “κονσόλας” του προγράμματος εκκίνησης (π.χ. py.exe) όσο και για την έκδοση “windows” (δηλ. pyw.exe).

Η προσαρμογή που καθορίζεται στον «κατάλογο εφαρμογών» θα έχει προτεραιότητα έναντι αυτής που βρίσκεται δίπλα στο εκτελέσιμο αρχείο, επομένως ένας χρήστης, ο οποίος ενδέχεται να μην έχει πρόσβαση εγγραφής στο αρχείο .ini δίπλα στο πρόγραμμα εκκίνησης, μπορεί να παρακάμψει εντολές σε αυτό το καθολικό .ini αρχείο.

4.12.4.2. Προσαρμογή προεπιλεγμένων εκδόσεων Python

Σε ορισμένες περιπτώσεις, ένας προσδιορισμός έκδοσης μπορεί να συμπεριληφθεί σε μια εντολή για να υπαγορεύσει ποια έκδοση της Python θα χρησιμοποιηθεί από την εντολή. Ένας προσδιοριστής έκδοσης ξεκινά με τον αριθμό κύριας έκδοσης και μπορεί προαιρετικά να ακολουθείται από μια τελεία (“.”) και ένας δευτερεύων προσδιοριστής έκδοσης. Επιπλέον, είναι δυνατό να καθοριστεί εάν θα ζητηθεί υλοποίηση 32 ή 64 bit προσθέτοντας «-32» ή «-64».

Για παράδειγμα, μια γραμμή shebang του #!python δεν έχει προσδιοριστικό έκδοσης, ενώ το #!python3 έχει έναν προσδιορισμό έκδοσης που καθορίζει μόνο μια κύρια έκδοση.

Εάν δεν βρεθούν κριτήρια έκδοσης σε μια εντολή, η μεταβλητή περιβάλλοντος PY_PYTHON μπορεί να οριστεί για να καθορίσει τον προσδιορισμό της προεπιλεγμένης έκδοσης. Εάν δεν έχει οριστεί, η προεπιλογή είναι «3», «3.7», «3.7-32» ή «3.7-64». (Σημειώστε ότι η επιλογή «-64» είναι διαθέσιμη μόνο με το πρόγραμμα εκκίνησης που περιλαμβάνεται στην Python 3.7 ή νεότερη έκδοση.)

Εάν δεν βρεθούν περιορισμοί δευτερεύουσας έκδοσης, η μεταβλητή περιβάλλοντος PY_PYTHON{major} (όπου {major} είναι ο προσδιορισμός της τρέχουσας κύριας έκδοσης όπως προσδιορίζεται παραπάνω) μπορεί να οριστεί για να καθορίσει την πλήρη έκδοση. Εάν όχι αν βρεθεί τέτοια επιλογή, ο εκκινητής θα απαριθμήσει τις εγκατεστημένες εκδόσεις Python και θα χρησιμοποιήσει την πιο πρόσφατη δευτερεύουσα έκδοση που βρέθηκε για την κύρια έκδοση, η οποία είναι πιθανό, αν και δεν είναι εγγυημένη, να είναι η πιο πρόσφατα εγκατεστημένη έκδοση σε αυτήν την οικογένεια.

Σε Windows 64-bit με εγκατεστημένες υλοποιήσεις 32-bit και 64-bit της ίδιας (κύριας.δευτερεύουσας) έκδοσης Python, η έκδοση 64-bit θα προτιμάται πάντα. Αυτό θα ισχύει τόσο για 32-bit όσο και για 64-bit υλοποιήσεις του προγράμματος εκκίνησης - ένα πρόγραμμα εκκίνησης 32-bit θα προτιμήσει να εκτελέσει μια εγκατάσταση Python 64-bit της καθορισμένης έκδοσης, εάν είναι διαθέσιμη. Αυτό είναι έτσι, ώστε η συμπεριφορά του προγράμματος εκκίνησης μπορεί να προβλεφθεί γνωρίζοντας μόνο ποιες εκδόσεις είναι εγκατεστημένες στον υπολογιστή και χωρίς να λαμβάνεται υπόψη η σειρά με την οποία εγκαταστάθηκαν (δηλαδή, χωρίς να γνωρίζουμε εάν μια έκδοση 32 ή 64-bit της Python και το αντίστοιχο πρόγραμμα εκκίνησης εγκαταστάθηκε τελευταίο). Όπως σημειώθηκε παραπάνω, ένα προαιρετικό επίθημα «-32» ή «-64» μπορεί να χρησιμοποιηθεί σε έναν προσδιοριστή έκδοσης για την αλλαγή αυτής της συμπεριφοράς.

Παραδείγματα:

  • Εάν δεν οριστούν σχετικές επιλογές, οι εντολές python και python2 θα χρησιμοποιήσουν την πιο πρόσφατη εγκατεστημένη έκδοση Python 2.x και η εντολή python3 θα χρησιμοποιήσει την πιο πρόσφατη εγκατεστημένη Python 3.x.

  • Η εντολή python3.7 δεν θα συμβουλευτεί καμία απολύτως επιλογή καθώς οι εκδόσεις είναι πλήρως καθορισμένες.

  • Εάν PY_PYTHON=3, οι εντολές python και python3 θα χρησιμοποιούν και οι δύο την πιο πρόσφατη εγκατεστημένη έκδοση Python 3.

  • Εάν PY_PYTHON=3.7-32, η εντολή python θα χρησιμοποιήσει την υλοποίηση 32-bit του 3.7 ενώ η εντολή python3 θα χρησιμοποιήσει την πιο πρόσφατη εγκατεστημένη Python (Το PY_PYTHON δεν θεωρήθηκε καθόλου καθώς καθορίστηκε μια κύρια έκδοση.)

  • Εάν PY_PYTHON=3 και PY_PYTHON3=3.7, οι εντολές python και python3 θα χρησιμοποιούν και οι δύο συγκεκριμένα την 3.7

Εκτός από τις μεταβλητές περιβάλλοντος, οι ίδιες ρυθμίσεις μπορούν να διαμορφωθούν στο αρχείο .INI που χρησιμοποιείται από το πρόγραμμα εκκίνησης. Η ενότητα στο αρχείο INI ονομάζεται [defaults] και το όνομα του κλειδιού θα είναι το ίδιο με τις μεταβλητές περιβάλλοντος χωρίς το αρχικό πρόθεμα PY_ (και σημειώστε ότι τα ονόματα κλειδιών στο αρχείο INI δεν έχουν διάκριση πεζών-κεφαλαίων.) Τα περιεχόμενα μιας μεταβλητής περιβάλλοντος θα αντικαταστήσουν τα στοιχεία που καθορίζονται στο αρχείο INI.

Για παράδειγμα:

  • Η ρύθμιση PY_PYTHON=3.7 είναι ισοδύναμη με το αρχείο INI που περιέχει:

[defaults]
python=3.7
  • Η ρύθμιση PY_PYTHON=3 και PY_PYTHON3=3.7 ισοδυναμεί με το αρχείο INI που περιέχει:

[defaults]
python=3
python3=3.7

4.12.5. Διαγνωστικά

Εάν μια μεταβλητή περιβάλλοντος PYLAUNCHER_DEBUG έχει οριστεί (σε οποιαδήποτε τιμή), το πρόγραμμα εκκίνησης θα εκτυπώσει διαγνωστικές πληροφορίες στο stderr (δηλαδή στην κονσόλα). Ενώ αυτές οι πληροφορίες καταφέρνουν να είναι ταυτόχρονα αναλυτικές και, θα πρέπει να επιτρέπουν για να δείτε ποιες εκδόσεις της Python εντοπίστηκαν, γιατί επιλέχθηκε μια συγκεκριμένη έκδοση και η ακριβής γραμμή εντολών που χρησιμοποιήθηκε για την εκτέλεση του στόχου Python. Προορίζεται κυρίως για δοκιμή και εντοπισμό σφαλμάτων.

4.12.6. Dry run

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

4.12.7. Εγκατάσταση κατ” απαίτηση

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

Μια πρόσθετη μεταβλητή PYLAUNCHER_ALWAYS_INSTALL αναγκάζει το πρόγραμμα εκκίνησης να προσπαθεί πάντα να εγκαταστήσει την Python, ακόμα κι αν εντοπιστεί. Αυτό προορίζεται κυρίως για δοκιμή (και θα πρέπει να χρησιμοποιείται με το PYLAUNCHER_DRYRUN).

4.12.8. Επιστρεφόμενοι κωδικοί

Οι ακόλουθοι κωδικοί εξόδου μπορεί να επιστραφούν από τον εκκινητή Python. Δυστυχώς, δεν υπάρχει τρόπος να διακρίνουμε αυτούς από τον κωδικό εξόδου της ίδιας της Python.

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

Όνομα

Τιμή

Περιγραφή

RC_BAD_VENV_CFG

107

Βρέθηκε ένα pyvenv.cfg αλλά είναι κατεστραμμένο.

RC_CREATE_PROCESS

101

Απέτυχε η εκκίνηση της Python.

RC_INSTALLING

111

Ξεκίνησε μια εγκατάσταση, αλλά η εντολή θα πρέπει να εκτελεστεί ξανά μετά την ολοκλήρωση της.

RC_INTERNAL_ERROR

109

Απροσδόκητο σφάλμα. Αναφέρετε ένα σφάλμα.

RC_NO_COMMANDLINE

108

Δεν είναι δυνατή η λήψη της γραμμής εντολών από το λειτουργικό σύστημα.

RC_NO_PYTHON

103

Δεν είναι δυνατός ο εντοπισμός της ζητούμενης έκδοσης.

RC_NO_VENV_CFG

106

Απαιτήθηκε ένα pyvenv.cfg αλλά δεν βρέθηκε.