2. Χρήση της Python σε πλατφόρμες Unix

2.1. Λήψη και εγκατάσταση της πιο πρόσφατης έκδοσης Python

2.1.1. Σε Linux

Python comes preinstalled on most Linux distributions, and is available as a package on all others. However there are certain features you might want to use that are not available on your distro’s package. You can easily compile the latest version of Python from source.

In the event that Python doesn’t come preinstalled and isn’t in the repositories as well, you can easily make packages for your own distro. Have a look at the following links:

Δείτε επίσης

https://www.debian.org/doc/manuals/maint-guide/first.en.html

για τους χρήστες του Debian

https://en.opensuse.org/Portal:Packaging

για τους χρήστες του OpenSuse

https://docs.fedoraproject.org/en-US/package-maintainers/Packaging_Tutorial_GNU_Hello/

για τους χρήστες του Fedora

https://slackbook.org/html/package-management-making-packages.html

για τους χρήστες του Slackware

2.1.2. Σε FreeBSD και OpenBSD

  • Χρήστες του FreeBSD, για την προσθήκη του πακέτου χρησιμοποιήστε:

    pkg install python3
    
  • Χρήστες του OpenBSD, για την προσθήκη του πακέτου χρησιμοποιήστε:

    pkg_add -r python
    
    pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/<insert your architecture here>/python-<version>.tgz
    

    Για παράδειγμα, χρήστες του i386 κάνουν λήψη της έκδοσης 2.5.1 χρησιμοποιώντας:

    pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz
    

2.1.3. On OpenSolaris

You can get Python from OpenCSW. Various versions of Python are available and can be installed with e.g. pkgutil -i python27.

2.2. Μεταγλώττιση της Python

Αν θέλετε να κάνετε compile το CPython μόνοι σας, το πρώτο πράγμα που πρέπει να κάνετε είναι να πάρετε τον πηγαίο κώδικα <https://www.python.org/downloads/source/>`_. Μπορείτε να κατεβάσετε είτε τον πηγαίο κώδικα της τελευταίας έκδοσης είτε απλά να πάρετε έναν καινούργιο clone. (Αν θέλετε να συνεισφέρετε διορθώσεις, θα χρειαστείτε έναν κλώνο).

Η διαδικασία της μεταγλώττισης απαρτίζεται από τις συνήθεις εντολές:

./configure
make
make install

Το Configuration options και οι όροι για συγκεκριμένες πλατφόρμες Unix τεκμηριώνονται εκτενώς στο αρχείο README.rst στην βάση του πηγαίου δέντρου της Python.

Προειδοποίηση

Το make install μπορεί να αντικαταστήσει ή να μεταμφιέσει το python3 σε δυαδικό. Επομένως προτείνεται το make altinstall σε σχέση με το make install που μπορεί να εγκαταστήσει μόνο το :file`{exec_prefix}/bin/python{version}`.

2.4. Διάφορα

Για να εκτελείτε εύκολα τα Python scripts σε συστήματα Unix, πρέπει να τα κάνετε εκτελέσιμα, για παράδειγμα με

$ chmod +x script

και να προσθέσετε μια κατάλληλη γραμμή Shebang στην αρχή του script. Μια καλή επιλογή είναι συνήθως

#!/usr/bin/env python3

που κάνει αναζήτηση για τον διερμηνέα της Python σε ολόκληρο το PATH. Ωστόσο, ορισμένα Unices μπορεί να μην έχουν την εντολή env, οπότε μπορεί να χρειαστεί να κωδικοποιήσετε το /usr/bin/python3 ως διαδρομή του διερμηνέα.

Για να χρησιμοποιήσετε εντολές shell στα Python script σας, δείτε την ενότητα subprocess.

2.5. Custom OpenSSL

  1. Για να χρησιμοποιήσετε τις ρυθμίσεις του OpenSSL και το αποθετήριο εμπιστοσύνης συστήματος, εντοπίστε τον κατάλογο με το αρχείο openssl.cnf ή τον συμβολικό σύνδεσμο στο /etc. Στις περισσότερες διανομές το αρχείο βρίσκεται είτε στο /etc/ssl είτε στο /etc/pki/tls. Ο κατάλογος θα πρέπει επίσης να περιέχει ένα αρχείο cert.pem και/ή έναν κατάλογο certs.

    $ find /etc/ -name openssl.cnf -printf "%h\n"
    /etc/ssl
    
  2. Λήψη, δημιουργία και εγκατάσταση του OenSSL. Βεβαιωθείτε ότι χρησιμοποιείτε το install_sw και όχι το install. Ο στόχος install_sw δεν παρακάμπτει το αρχείο openssl.cnf.

    $ curl -O https://www.openssl.org/source/openssl-VERSION.tar.gz
    $ tar xzf openssl-VERSION
    $ pushd openssl-VERSION
    $ ./config \
        --prefix=/usr/local/custom-openssl \
        --libdir=lib \
        --openssldir=/etc/ssl
    $ make -j1 depend
    $ make -j8
    $ make install_sw
    $ popd
    
  3. Μεταγλώττιση της Python με προσαρμοσμένο OpenSSL (δείτε τις επιλογές configure ----with-openssl και ----with-openssl-rpath)

    $ pushd python-3.x.x
    $ ./configure -C \
        --with-openssl=/usr/local/custom-openssl \
        --with-openssl-rpath=auto \
        --prefix=/usr/local/python-3.x.x
    $ make -j8
    $ make altinstall
    

Σημείωση

Οι διορθωτικές εκδόσεις του OpenSSL έχουν μια δυαδική διεπαφή εφαρμογής (ABI) συμβατή προς τα πίσω. Δεν χρειάζεται να κάνετε compile εκ νέου την Python για να ενημερώσετε το OpenSSL. Αρκεί να αντικαταστήσετε την προσαρμοσμένη εγκατάσταση του OpenSSL με μια νεότερη έκδοση.