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 compile the latest version of Python from source.

In the event that the latest version of Python doesn’t come preinstalled and isn’t in the repositories as well, you can 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 отримують версію 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 на новішу версію.