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.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

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 на новішу версію.