5. Χρησιμοποιώντας Python σε macOS
**********************************

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

Υπάρχουν διάφοροι τρόποι για να αποκτήσετε και να εγκαταστήσετε την
Python για macOS. Προκατασκευασμένες εκδόσεις των πιο πρόσφατων
εκδόσεων της Python είναι διαθέσιμες από έναν αριθμό διανομέων. Πολλές
από αυτές τις πληροφορίες περιγράφουν τη χρήση της Python που
παρέχονται από την ομάδα κυκλοφορίας CPython για λήψη από την
ιστοσελίδα python.org. Δείτε Εναλλακτικές Διανομές για μερικές άλλες
επιλογές.


5.1. Χρησιμοποιώντας Python για macOS από το "python.org"
=========================================================


5.1.1. Βήματα εγκατάστασης
--------------------------

Για τρέχουσες εκδόσεις Python (εκτός από αυτές που είναι σε κατάσταση
"security"), η ομάδα κυκλοφορίας παράγει ένα **Python για macOS**
πακέτο εγκατάστασης για κάθε νέα κυκλοφορία. Μια λίστα διαθέσιμων
εγκαταστατών είναι διαθέσιμη εδώ. Συνιστούμε τη χρήση της πιο
πρόσφατης υποστηριζόμενης έκδοσης Python όπου είναι δυνατόν. Οι
τρέχοντες εγκαταστάτες παρέχουν μια universal2 binary έκδοση της
Python που εκτελείται εγγενώς σε όλους τους υπολογιστές Mac (Apple
Silicon και Intel) που υποστηρίζονται από μια ευρεία γκάμα εκδόσεων
macOS, αυτή τη στιγμή συνήθως από τουλάχιστον **macOS 10.15 Catalina**
και μετά.

Το αρχείο που κατεβάσατε είναι ένα τυπικό αρχείο πακέτου εγκατάστασης
macOS (".pkg"). Οι πληροφορίες ακεραιότητας αρχείου (έλεγχος
ταυτότητας, μέγεθος, υπογραφή sigstore κ.λπ.) για κάθε αρχείο
περιλαμβάνονται στη σελίδα λήψης κυκλοφορίας. Τα πακέτα εγκατάστασης
και το περιεχόμενό τους είναι υπογεγραμμένα και επικυρωμένα με "Python
Software Foundation" Apple Developer ID πιστοποιητικά για να
ικανοποιούν τις απαιτήσεις macOS Gatekeeper.

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

[εικόνα]

Κάνοντας κλικ στο κουμπί **Continue** εμφανίζεται το **Read Me** για
αυτόν τον εγκαταστάτη. Εκτός από άλλες σημαντικές πληροφορίες, το
**Read Me** καταγράφει ποια έκδοση Python πρόκειται να εγκατασταθεί
και σε ποιες εκδόσεις macOS υποστηρίζεται. Ίσως χρειαστεί να κάνετε
κύλιση για να διαβάσετε ολόκληρο το αρχείο. Από προεπιλογή, αυτό το
**Read Me** θα εγκατασταθεί επίσης στο "/Applications/Python 3.14/"
και θα είναι διαθέσιμο για ανάγνωση οποιαδήποτε στιγμή.

[εικόνα]

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

[εικόνα]

Αφού γίνουν αποδεκτοί οι όροι άδειας, το επόμενο βήμα είναι η εμφάνιση
**Τύπος Εγκατάστασης**. Για τις περισσότερες χρήσεις, το τυπικό σύνολο
λειτουργιών εγκατάστασης είναι κατάλληλο.

[εικόνα]

Πατώντας το κουμπί **Customize**, μπορείτε να επιλέξετε να παραλείψετε
ή να επιλέξετε ορισμένα πακέτα του εγκαταστάτη. Κάντε κλικ σε κάθε
όνομα πακέτου για να δείτε μια περιγραφή του τι εγκαθιστά. Για να
εγκαταστήσετε επίσης υποστήριξη για την προαιρετική δυνατότητα χωρίς
νήματα, δείτε Εγκατάσταση εκδόσεων Free-threaded.

[εικόνα]

Σε κάθε περίπτωση, κάνοντας κλικ στο **Install** θα ξεκινήσει η
διαδικασία εγκατάστασης ζητώντας άδεια για την εγκατάσταση νέου
λογισμικού. Ένα όνομα χρήστη macOS με "Administrator" δικαιώματα είναι
απαραίτητο καθώς η εγκατεστημένη Python θα είναι διαθέσιμη σε όλους
τους χρήστες του Mac.

Όταν ολοκληρωθεί η εγκατάσταση, θα εμφανιστεί το παράθυρο
**Περίληψη**.

[εικόνα]

Διπλό κλικ στο εικονίδιο ή το αρχείο **Install Certificates.command**
στο παράθυρο "/Applications/Python 3.14/" για να ολοκληρώσετε την
εγκατάσταση.

[εικόνα]

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

[εικόνα]

Εάν εμφανιστεί "Successfully installed certifi" και "update complete"
στο παράθυρο τερματικού, η εγκατάσταση είναι ολοκληρωμένη. Κλείστε
αυτό το παράθυρο τερματικού και το παράθυρο εγκαταστάτη.

Μια προεπιλεγμένη εγκατάσταση θα περιλαμβάνει:

* Ένας "Python 3.14" φάκελος στον φάκελο "Applications". Εδώ θα βρείτε
  το **IDLE**, το περιβάλλον ανάπτυξης που είναι τυπικό μέρος των
  επίσημων διανομών Python∙ και το **Python Launcher**, το οποίο
  χειρίζεται τα διπλά κλικ σε Python scripts από το macOS Finder.

* Ένα πλαίσιο "/Library/Frameworks/Python.framework", το οποίο
  περιλαμβάνει τον εκτελέσιμο κώδικα Python και τις βιβλιοθήκες. Το
  πρόγραμμα εγκατάστασης προσθέτει αυτήν την τοποθεσία στο shell path
  σας. Για να απεγκαταστήσετε την Python, μπορείτε να αφαιρέσετε αυτά
  τα τρία πράγματα. Symlinks στον εκτελέσιμο κώδικα Python
  τοποθετούνται στο "/usr/local/bin/".

Σημείωση:

  Οι πρόσφατες εκδόσεις του macOS περιλαμβάνουν μια εντολή **python3**
  στο "/usr/bin/python3" που συνδέεται με μια συνήθως παλαιότερη και
  ελλιπή έκδοση της Python που παρέχεται από και για χρήση από τα
  εργαλεία ανάπτυξης της Apple, **Xcode** ή τα **Command Line Tools
  for  Xcode**. Δεν θα πρέπει ποτέ να τροποποιήσετε ή να προσπαθήσετε
  να διαγράψετε αυτήν την εγκατάσταση, καθώς ελέγχεται από την Apple
  και χρησιμοποιείται από το λογισμικό που παρέχεται από την Apple ή
  από τρίτους. Εάν επιλέξετε να εγκαταστήσετε μια νεότερη έκδοση
  Python από το "python.org", θα έχετε δύο διαφορετικές αλλά
  λειτουργικές εγκαταστάσεις Python στον υπολογιστή σας που μπορούν να
  συνυπάρχουν. Οι προεπιλεγμένες επιλογές εγκατάστασης θα πρέπει να
  διασφαλίσουν ότι η **python3** θα χρησιμοποιηθεί αντί της συστήματος
  **python3**.


5.1.2. Πώς να εκτελέσετε ένα σενάριο Python
-------------------------------------------

Υπάρχουν δύο τρόποι για να καλέσετε τον διερμηνέα Python. Εάν είστε
εξοικειωμένοι με τη χρήση ενός κελύφους Unix σε ένα παράθυρο
τερματικού, μπορείτε να καλέσετε "python3.14" ή "python3" προαιρετικά
ακολουθούμενο από μία ή περισσότερες επιλογές γραμμής εντολών
(περιγράφεται στο Command line and environment). Το εγχειρίδιο Python
έχει επίσης μια χρήσιμη ενότητα σχετικά με using Python interactively
from a shell.

Μπορείτε επίσης να καλέσετε τον ερμηνευτή μέσω ενός ενσωματωμένου
αναπτυξιακού περιβάλλοντος. IDLE --- Python editor and shell είναι
ένας βασικός επεξεργαστής και περιβάλλον ερμηνευτή που περιλαμβάνεται
με την τυπική διανομή Python. Το **IDLE** περιλαμβάνει ένα μενού
Βοήθειας που σας επιτρέπει να αποκτήσετε πρόσβαση στην τεκμηρίωση
Python. Εάν είστε εντελώς νέοι στην Python, μπορείτε να διαβάσετε την
εισαγωγή του εγχειριδίου σε αυτό το έγγραφο.

Υπάρχουν πολλοί άλλοι επεξεργαστές και IDE διαθέσιμοι, δείτε
Επεξεργαστές Κειμένου και IDEs για περισσότερες πληροφορίες.

Για να εκτελέσετε ένα αρχείο script Python από το παράθυρο τερματικού,
μπορείτε να καλέσετε τον ερμηνευτή με το όνομα του αρχείου script:

   "python3.14" "myscript.py"

Για να εκτελέσετε το script σας από το Finder, μπορείτε είτε:

* Σύρετε το στο **Python Launcher**.

* Επιλέξτε το **Python Launcher** ως την προεπιλεγμένη εφαρμογή για να
  ανοίξετε το script σας (ή οποιοδήποτε ".py" script) μέσω του
  παραθύρου πληροφοριών Finder και κάντε διπλό κλικ σε αυτό. Το
  **Python Launcher** έχει διάφορες προτιμήσεις για να ελέγξει πώς
  εκκινείται το script σας. Η επιλογή-μεταφορά σας επιτρέπει να
  αλλάξετε αυτά για μία κλήση ή χρησιμοποιήστε το μενού "Προτιμήσεις"
  για να αλλάξετε τα πράγματα παγκοσμίως.

Να είστε προσεκτικοί ότι η εκτέλεση του script απευθείας από το macOS
Finder μπορεί να παράγει διαφορετικά αποτελέσματα από την εκτέλεση από
ένα παράθυρο τερματικού καθώς το script δεν θα εκτελείται στο συνήθη
περιβάλλον κελύφους που περιλαμβάνει οποιαδήποτε ρύθμιση μεταβλητών
περιβάλλοντος σε προφίλ κελύφους. Και, όπως με οποιοδήποτε άλλο script
ή πρόγραμμα, να είστε σίγουροι για το τι πρόκειται να εκτελέσετε.


5.2. Εναλλακτικές Διανομές
==========================

Εκτός από τον τυπικό εγκαταστάτη "python.org" για macOS, υπάρχουν
τρίτες διανομές για macOS που μπορεί να περιλαμβάνουν πρόσθετη
λειτουργικότητα. Ορισμένες δημοφιλείς διανομές και τα βασικά
χαρακτηριστικά τους:

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

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

Homebrew
   Διαχειριστής πακέτων για macOS που περιλαμβάνει πολλές εκδόσεις
   Python και πολλά τρίτα πακέτα Python (συμπεριλαμβανομένων των
   numpy, scipy και pandas).

MacPorts
   Ένας άλλος διαχειριστής πακέτων για macOS που περιλαμβάνει πολλές
   εκδόσεις Python και πολλά τρίτα πακέτα Python. Μπορεί να
   περιλαμβάνει προ-κατασκευασμένες εκδόσεις της Python και πολλά
   πακέτα για παλαιότερες εκδόσεις του macOS.

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


5.3. Εγκατάσταση πρόσθετων πακέτων Python
=========================================

Ανατρέξτε στον Python Packaging User Guide για περισσότερες
πληροφορίες.


5.4. Προγραμματισμός GUI
========================

Υπάρχουν πολλές επιλογές για την κατασκευή εφαρμογών GUI στον Mac με
Python.

Η τυπική βιβλιοθήκη GUI Python είναι "tkinter", βασισμένη στο
διαλειτουργικό εργαλείο Tk (https://www.tcl.tk). Μια εγγενής έκδοση Tk
macOS περιλαμβάνεται με τον εγκαταστάτη.

Το *PyObjC* είναι ένα Python binding στο πλαίσιο Objective-C/Cocoa της
Apple. Πληροφορίες σχετικά με το PyObjC είναι διαθέσιμες από pyobjc.

Ένας αριθμός εναλλακτικών εργαλείων GUI macOS είναι διαθέσιμος,
συμπεριλαμβανομένων:

* PySide: Επίσημα Python bindings στο Qt GUI toolkit.

* PyQt: Εναλλακτικά Python bindings στο Qt.

* Kivy: Ένα διαλειτουργικό εργαλείο GUI που υποστηρίζει desktop και
  mobile πλατφόρμες.

* Toga: Μέρος του BeeWare Project; υποστηρίζει εφαρμογές desktop,
  mobile, web και κονσόλας εφαρμογές.

* wxPython: Ένα διαλειτουργικό εργαλείο που υποστηρίζει desktop
  πλατφόρμες.


5.5. Προχωρημένα θέματα
=======================


5.5.1. Εγκατάσταση εκδόσεων Free-threaded
-----------------------------------------

Added in version 3.13.

Το πακέτο εγκατάστασης "python.org" Python for macOS μπορεί
προαιρετικά να εγκαταστήσει μια επιπλέον έκδοση της Python 3.14 που
υποστηρίζει **PEP 703**, την πειραματική δυνατότητα ελεύθερης
νηματοποίησης (threading) (εκτέλεση με το *global interpreter lock*
απενεργοποιημένο). Ελέγξτε τη σελίδα κυκλοφορίας στο "python.org" για
πιθανές ενημερωμένες πληροφορίες.

Η λειτουργία ελεύθερου νήματος λειτουργεί και συνεχίζει να
βελτιώνεται, αλλά υπάρχει κάποια πρόσθετη επιβάρυνση στα φορτία
εργασίας μονού νήματος σε σύγκριση με την κανονική έκδοση. Επιπλέον,
τα πακέτα τρίτων κατασκευαστών, ιδίως αυτά με *extension module*,
ενδέχεται να μην είναι έτοιμα για χρήση σε μια έκδοση ελεύθερου
νήματος και θα ενεργοποιήσουν ξανά το *GIL*. Επομένως, η υποστήριξη
για ελεύθερη νηματοποποίησης δεν εγκαθίστανται από προεπιλογή. Είναι
συσκευασμένη ως ξεχωριστή επιλογή εγκατάστασης, διαθέσιμη κάνοντας
κλικ το κουμπί **Customize** στο βήμα **Installation Type** του
προγράμματος εγκατάστασης όπως περιγράφεται παραπάνω.

[εικόνα]

Εάν το πλαίσιο δίπλα στο όνομα πακέτου **Free-threaded Python** είναι
επιλεγμένο, θα εγκατασταθεί επίσης ένα ξεχωριστό "PythonT.framework"
δίπλα στο κανονικό "Python.framework" στο "/Library/Frameworks". Αυτή
η διαμόρφωση επιτρέπει σε μια έκδοση Python 3.14 ελεύθερης
νηματοποίησης να συγκατοικεί στο σύστημά σας με μια παραδοσιακή (μόνο
GIL) Python 3.14 έκδοση με ελάχιστο κίνδυνο κατά την εγκατάσταση ή τη
δοκιμή. Αυτή η διάταξη εγκατάστασης είναι πειραματική και υπόκειται σε
αλλαγές σε μελλοντικές εκδόσεις.

Γνωστές προφυλάξεις και περιορισμοί:

* To **UNIX command-line tools** πακέτο, το οποίο επιλέγεται από
  προεπιλογή, θα εγκαταστήσει συνδέσμους στο "/usr/local/bin" για
  "python3.14t", τον ερμηνευτή ελεύθερης νηματοποίησης και "python3
  .14t-config", ένα βοηθητικό πρόγραμμα διαμόρφωσης που μπορεί να
  είναι χρήσιμο για κατασκευαστές πακέτων. Δεδομένου ότι το
  "/usr/local/bin" περιλαμβάνεται συνήθως στη μεταβλητή περιβάλλοντος
  "PATH" του κελύφους σας, στις περισσότερες περιπτώσεις δεν θα
  χρειαστούν αλλαγές στις μεταβλητές περιβάλλοντος "PATH" για να
  χρησιμοποιήσετε "python3.14t".

* Για αυτήν την έκδοση, το πακέτο **Shell profile updater** και το
  "Update Shell Profile.command" στο "/Applications/Python 3.14/"  δεν
  υποστηρίζουν το πακέτο ελεύθερης νηματοποίησης.

* Η έκδοση ελεύθερης νηματοποίησης και η παραδοσιακή έκδοση έχουν
  ξεχωριστές διαδρομές αναζήτησης και ξεχωριστούς καταλόγους "site-
  packages", οπότε, από προεπιλογή, εάν χρειάζεστε ένα πακέτο
  διαθέσιμο και στις δύο εκδόσεις, μπορεί να χρειαστεί να εγκατασταθεί
  και στις δύο. Το πακέτο ελεύθερης νηματοποίησης θα εγκαταστήσει μια
  ξεχωριστή έκδοση του **pip** για χρήση με "python3.14t".

  * Για να εγκαταστήσετε ένα πακέτο χρησιμοποιώντας **pip** χωρίς
    **venv**:

       python3.14t -m pip install <package_name>

* Όταν εργάζεστε με πολλές Python περιβάλλοντα, είναι συνήθως
  ασφαλέστερο και ευκολότερο να create and use virtual environments.
  Αυτό μπορεί να αποφύγει πιθανά ονόματα εντολών συγκρούσεων και
  σύγχυση σχετικά με το ποια Python είναι σε χρήση:

     python3.14t -m venv <venv_name>

  τότε **activate**.

* Για να εκτελέσετε μια έκδοση ελεύθερης νηματοποίησης του IDLE:

     python3.14t -m idlelib

* Οι ερμηνευτές και στις δύο εκδόσεις ανταγωνίζονται στις ίδιες PYTHON
  environment variables που μπορεί να έχουν απροσδόκητα αποτελέσματα,
  για παράδειγμα, εάν έχετε ρυθμίσει το "PYTHONPATH" σε ένα προφίλ
  κελύφους. Εάν είναι απαραίτητο, υπάρχουν command line options όπως
  "-E" για να αγνοήσετε αυτές τις μεταβλητές περιβάλλοντος.

* Η έκδοση ελεύθερης νηματοποίησης συνδέεται με τις βιβλιοθήκες κοινής
  χρήσης τρίτων, όπως "OpenSSL" και "Tk", που είναι εγκατεστημένες στο
  παραδοσιακό πλαίσιο. Αυτό σημαίνει ότι και οι δύο εκδόσεις
  μοιράζονται επίσης ένα σύνολο πιστοποιητικών εμπιστοσύνης όπως
  εγκαθίστανται από το **Install Certificates.command** script,
  επομένως χρειάζεται να εκτελείται μόνο μία φορά.

* Εάν δεν μπορείτε να εξαρτηθείτε από το σύνδεσμο στο "/usr/local/bin"
  που δείχνει στην έκδοση "python3.14t" ελεύθερης νηματοποίησης (για
  παράδειγμα, εάν θέλετε να εγκαταστήσετε τη δική σας έκδοση εκεί ή
  κάποια άλλη διανομή το κάνει), μπορείτε να ορίσετε ρητά τη μεταβλητή
  περιβάλλοντος "PATH" του κελύφους σας για να περιλαμβάνει το
  κατάλογο "bin" του πλαισίου "PythonT":

     export PATH="/Library/Frameworks/PythonT.framework/Versions/3.14/bin":"$PATH"

  Η παραδοσιακή εγκατάσταση πλαισίου από προεπιλογή κάνει κάτι
  παρόμοιο, εκτός από το "Python.framework". Να είστε προσεκτικοί ότι
  η παρουσία και των δύο καταλόγων "bin" πλαισίου στο "PATH" μπορεί να
  οδηγήσει σε σύγχυση εάν υπάρχουν διπλά ονόματα όπως "python3.14" και
  στις δύο∙ ποιο χρησιμοποιείται στην πραγματικότητα εξαρτάται από τη
  σειρά που εμφανίζονται στο "PATH". Οι εντολές "which python3.x" ή
  "which python3.xt" μπορούν να δείξουν ποια διαδρομή χρησιμοποιείται.
  Η χρήση εικονικών περιβαλλόντων μπορεί να βοηθήσει στην αποφυγή
  τέτοιων αμφισημιών. Μια άλλη επιλογή μπορεί να είναι η δημιουργία
  ενός κελύφους **alias** στον επιθυμητό διερμηνέα, όπως:

     alias py3.14="/Library/Frameworks/Python.framework/Versions/3.14/bin/python3.14"
     alias py3.14t="/Library/Frameworks/PythonT.framework/Versions/3.14/bin/python3.14t"


5.5.2. Εγκατάσταση χρησιμοποιώντας τη γραμμή εντολών
----------------------------------------------------

Εάν θέλετε να χρησιμοποιήσετε αυτοματισμό για να εγκαταστήσετε το
πακέτο εγκατάστασης "python.org" (παρά να χρησιμοποιήσετε την οικεία
εφαρμογή **Installer** GUI macOS), το βοηθητικό πρόγραμμα
**installer** γραμμής εντολών macOS σας επιτρέπει να επιλέξετε μη
προεπιλεγμένες επιλογές, επίσης. Εάν δεν είστε εξοικειωμένοι με το
**installer**, μπορεί να είναι κάπως κρυπτικό (βλ. **man installer**
για περισσότερες πληροφορίες). Ως παράδειγμα, το παρακάτω απόσπασμα
κώδικα δείχνει έναν τρόπο να το κάνετε, χρησιμοποιώντας την έκδοση
"3.14.0b2" και επιλέγοντας την επιλογή διερμηνέα ελεύθερης
νηματοποίησης:

   RELEASE="python-3.140b2-macos11.pkg"

   # download installer pkg
   curl -O https://www.python.org/ftp/python/3.14.0/${RELEASE}

   # create installer choicechanges to customize the install:
   #    enable the PythonTFramework-3.14 package
   #    while accepting the other defaults (install all other packages)
   cat > ./choicechanges.plist <<EOF
   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
   <plist version="1.0">
   <array>
           <dict>
                   <key>attributeSetting</key>
                   <integer>1</integer>
                   <key>choiceAttribute</key>
                   <string>selected</string>
                   <key>choiceIdentifier</key>
                   <string>org.python.Python.PythonTFramework-3.14</string>
           </dict>
   </array>
   </plist>
   EOF

   sudo installer -pkg ./${RELEASE} -applyChoiceChangesXML ./choicechanges.plist -target /

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

   $ # test that the free-threaded interpreter was installed if the Unix Command Tools package was enabled
   $ /usr/local/bin/python3.14t -VV
   Python 3.14.0b2 free-threading build (v3.14.0b2:3a83b172af, Jun  5 2024, 12:57:31) [Clang 15.0.0 (clang-1500.3.9.4)]
   $ #    and the traditional interpreter
   $ /usr/local/bin/python3.14 -VV
   Python 3.14.0b2 (v3.14.0b2:3a83b172af, Jun  5 2024, 12:50:24) [Clang 15.0.0 (clang-1500.3.9.4)]
   $ # test that they are also available without the prefix if /usr/local/bin is on $PATH
   $ python3.14t -VV
   Python 3.14.0b2 free-threading build (v3.14.0b2:3a83b172af, Jun  5 2024, 12:57:31) [Clang 15.0.0 (clang-1500.3.9.4)]
   $ python3.14 -VV
   Python 3.14.0b2 (v3.14.0b2:3a83b172af, Jun  5 2024, 12:50:24) [Clang 15.0.0 (clang-1500.3.9.4)]

Σημείωση:

  Τα τρέχοντα προγράμματα εγκατάστασης "python.org" εγκαθίστανται μόνο
  σε καθορισμένες τοποθεσίες όπως "/Library/Frameworks/",
  "/Applications" και "/usr/local/bin". Δεν μπορείτε να
  χρησιμοποιήσετε την επιλογή "-domain" του **installer** για να
  εγκαταστήσετε σε άλλες τοποθεσίες.


5.5.3. Διανομή εφαρμογών Python
-------------------------------

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

* py2app: Υποστηρίζει τη δημιουργία macOS ".app" πακέτων από ένα έργο
  Python.

* Briefcase: Μέρος του BeeWare Project; ένα εργαλείο διανομής
  πολλαπλών πλατφορμών που υποστηρίζει τη δημιουργία ".app" πακέτων σε
  macOS, καθώς και τη διαχείριση υπογραφής και πιστοποίησης.

* PyInstaller: Ένα εργαλείο διανομής πολλαπλών πλατφορμών που
  δημιουργεί ένα μόνο αρχείο ή φάκελο ως διανεμόμενο αντικείμενο.


5.5.4. Συμμόρφωση App Store
---------------------------

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

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

Το δέντρο πηγών Python περιέχει ένα αρχείο patch που θα αφαιρέσει όλο
τον κώδικα που είναι γνωστό ότι προκαλεί προβλήματα με τη διαδικασία
αναθεώρησης του App Store. Αυτή η επιδιόρθωση εφαρμόζεται αυτόματα
όταν η CPython διαμορφώνεται με την "--with-app-store-compliance"
επιλογή.

Αυτή η επιδιόρθωση δεν απαιτείται κανονικά για τη χρήση της CPython σε
Mac. Ούτε απαιτείται εάν διανέμετε μια εφαρμογή *εκτός* του macOS App
Store. Απαιτείται *μόνο* εάν χρησιμοποιείτε το macOS App Store ως
κανάλι διανομής.


5.6. Άλλοι πόροι
================

Η python.org Help page έχει συνδέσμους σε πολλούς χρήσιμους πόρους. Η
Pythonmac-SIG mailing list είναι ένας άλλος πόρος υποστήριξης ειδικά
για χρήστες και προγραμματιστές Python στο Mac.
