2. Використання Python на платформах Unix

2.1. Отримання та встановлення останньої версії Python

2.1.1. На Linux

Python попередньо встановлено на більшості дистрибутивів Linux і доступний у вигляді пакета на всіх інших. Однак є певні функції, які ви можете використати, але недоступні в пакеті вашого дистрибутива. Ви можете легко скомпілювати останню версію Python із початкового коду.

У випадку, якщо Python не попередньо встановлений і його також немає в репозиторіях, ви можете легко створити пакунки для свого власного дистрибутива. Перегляньте наступні посилання:

Дивись також

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 отримують версію Python 2.5.1 за допомогою:

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

2.2. Створення Python

If you want to compile CPython yourself, first thing you should do is get the source. You can download either the latest release’s source or just grab a fresh clone. (If you want to contribute patches, you will need a clone.)

Процес збирання складається зі звичайних команд:

./configure
make
make install

Параметри конфігурації і застереження для конкретних платформ Unix детально задокументовані у файлі README.rst у корені дерева вихідних кодів Python.

Попередження

make install може перезаписати або маскувати двійковий файл python3. Таким чином, make altinstall рекомендується замість make install, оскільки він встановлює лише exec_prefix/bin/pythonversion.

2.4. Різне

Щоб легко використовувати сценарії Python в Unix, вам потрібно зробити їх виконуваними, напр. з

$ chmod +x script

і помістіть відповідний рядок Shebang у верхній частині сценарію. Зазвичай хороший вибір:

#!/usr/bin/env python3

який шукає інтерпретатор Python у всьому PATH. Однак деякі Unix можуть не мати команди env, тому вам може знадобитися жорстко закодувати /usr/bin/python3 як шлях інтерпретатора.

Щоб використовувати команди оболонки у ваших сценаріях Python, подивіться на модуль subprocess.

2.5. Спеціальний 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. Завантажте, створіть і встановіть OpenSSL. Переконайтеся, що ви використовуєте 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. Build Python with custom OpenSSL (see the configure --with-openssl and --with-openssl-rpath options)

    $ 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. Вам не потрібно перекомпілювати Python, щоб оновити OpenSSL. Досить замінити спеціальну установку OpenSSL на новішу версію.