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. На OpenSolaris

Вы можете получить Python из OpenCSW. Доступны различные версии Python, которые можно установить, например, с помощью pkgutil -i python27.

2.2. Создание Python

Если вы хотите скомпилировать CPython самостоятельно, первое, что вам следует сделать, это получить source. Вы можете скачать либо исходный код последней версии, либо просто взять свежий clone. (Если вы хотите добавить исправления, вам понадобится клон.)

Процесс сборки состоит из обычных команд:

./configure
make
make install

Configuration options и предостережения для конкретных платформ Unix подробно описаны в файле README.rst в корне дерева исходных текстов Python.

Предупреждение

make install может перезаписывать или маскировать двоичный файл python3. Поэтому рекомендуется использовать make altinstall вместо make install, поскольку он устанавливает только exec_prefix/bin/pythonversion.

2.4. Разнообразный

Чтобы легко использовать скрипты Python в Unix, вам нужно сделать их исполняемыми, например, с помощью

$ chmod +x script

и поместите соответствующую строку в верхней части сценария. Хорошим выбором обычно является

#!/usr/bin/env python3

который выполняет поиск интерпретатора Python по всему PATH. Однако в некоторых Unices может отсутствовать команда 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. Создайте Python с помощью пользовательского OpenSSL (смотрите параметры настройки --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. Вам не нужно перекомпилировать Python для обновления OpenSSL. Достаточно заменить пользовательскую установку OpenSSL на более новую версию.

Вернуться на верх