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¶
Чтобы воспользоваться конфигурацией OpenSSL и хранилищем системных данных вашего поставщика, найдите каталог с файлом
openssl.cnf
или символической ссылкой в/etc
. В большинстве дистрибутивов файл находится либо в/etc/ssl
, либо в/etc/pki/tls
. Каталог также должен содержать файлcert.pem
и/или каталогcerts
.$ find /etc/ -name openssl.cnf -printf "%h\n" /etc/ssl
Загрузите, соберите и установите 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
Создайте 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 на более новую версию.