Spec-Zone.ru › Python 3.13

Использование 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 получат версию 2.5.1 Python, используя:

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

2.2. Компиляция Python

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

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

./configure
make
make install

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

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

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

2.3. Пути и файлы, относящиеся к Python

Они зависят от местных конвенций установки; prefix и exec_prefix зависят от установки и должны интерпретироваться, как для программного обеспечения GNU; они могут быть одинаковыми.

Например, на большинстве систем Linux значение по умолчанию для обоих равно /usr.

Файл/каталог

Значение

exec_prefix/bin/python3

Рекомендуемое расположение интерпретатора.

prefix/lib/pythonversion, exec_prefix/lib/pythonversion

Рекомендуемые расположения каталогов, содержащих стандартные модули.

prefix/include/pythonversion, exec_prefix/include/pythonversion

Рекомендуемые расположения каталогов, содержащих файлы заголовков, необходимые для разработки расширений Python и интеграции интерпретатора.

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. Скомпилируйте 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 более новой версией.

© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/using/unix.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API