Использование 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 самостоятельно, в первую очередь вам нужно получить исходный код. Вы можете загрузить исходный код последней версии или просто создать копию клона. (Если вы хотите внести исправления, вам понадобится клон.)
Процесс сборки состоит из обычных команд:
./configure make make install
Параметры конфигурации и замечания для конкретных платформ 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. Однако некоторые Unix-системы могут не иметь команду 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 новой версией.
© 2001–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.11/using/unix.html