Использование 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-old.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-creating-rpms.html
-
для пользователей Fedora
- http://www.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.10/using/unix.html