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.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
и поместите соответствующую строку Shebang в начало скрипта. Хорошим выбором обычно является
#!/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 (см. опции 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. Для обновления OpenSSL не нужно перекомпилировать Python. Достаточно заменить пользовательскую установку OpenSSL на более новую версию.