Документация Python неофициальный перевод
Содержание страницы

2. Использование Python на платформах UnixUsing Python on Unix platforms

2.1. Получение и установка последней версии PythonGetting and installing the latest version of Python

2.1.1. В LinuxOn 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.1.1. Установка IDLEInstalling IDLE

В некоторых случаях IDLE может не входить в установку Python.

  • Для пользователей Debian и Ubuntu:

    sudo apt update
    sudo apt install idle
    
  • Для пользователей Fedora, RHEL и CentOS:

    sudo dnf install python3-idle
    
  • Для пользователей SUSE и OpenSUSE:

    sudo zypper install python3-idle
    
  • Для пользователей Alpine Linux:

    sudo apk add python3-idle
    

2.1.2. На FreeBSD и OpenBSDOn FreeBSD and 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. Сборка PythonBuilding Python

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

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

./configure
make
make install

Параметры конфигурации и особенности для конкретных Unix-платформ подробно описаны в файле README.rst в корне дерева исходного кода Python.

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

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

2.4. РазноеMiscellaneous

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

$ chmod +x script

и поместить соответствующую шебанг-строку в начало скрипта. Хорошим выбором обычно является

#!/usr/bin/env python3

которая ищет интерпретатор Python во всей PATH. Однако в некоторых Unix-системах может отсутствовать команда env, поэтому может потребоваться жёстко задать /usr/bin/python3 как путь к интерпретатору.

Чтобы использовать команды оболочки в скриптах Python, обратитесь к модулю subprocess.

2.5. Пользовательский OpenSSLCustom 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 (см. параметры 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. Вам не нужно перекомпилировать Python для обновления OpenSSL. Достаточно заменить пользовательскую установку OpenSSL на более новую версию.