Документация Python неофициальный перевод

unix.md

172 строк · 9.3 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.14/using/unix.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 2. Использование Python на платформах Unix89## 2.1. Получение и установка последней версии Python1011### 2.1.1. В Linux1213Python предустановлен в большинстве дистрибутивов Linux, а для всех остальных доступен в виде пакета. Однако некоторые возможности, которые могут понадобиться, в пакете вашего дистрибутива могут отсутствовать. В таком случае можно скомпилировать последнюю версию Python из исходного кода.1415Если последняя версия Python не предустановлена и не доступна в репозиториях, вы можете собрать пакет для своего дистрибутива. Обратите внимание на следующие ссылки:1617> **См. также**18>19> **[https://www.debian.org/doc/manuals/maint-guide/first.en.html](https://python-all.ru/3.14/using/unix.html)**20>21> для пользователей Debian22>23> **[https://en.opensuse.org/Portal:Packaging](https://python-all.ru/3.14/using/unix.html)**24>25> для пользователей OpenSUSE26>27> **[https://docs.fedoraproject.org/en-US/package-maintainers/Packaging\_Tutorial\_GNU\_Hello/](https://python-all.ru/3.14/using/unix.html)**28>29> для пользователей Fedora30>31> **[https://slackbook.org/html/package-management-making-packages.html](https://python-all.ru/3.14/using/unix.html)**32>33> для пользователей Slackware3435#### 2.1.1.1. Установка IDLE3637В некоторых случаях IDLE может не входить в установку Python.3839- Для пользователей Debian и Ubuntu:4041  ```sh42  sudo apt update43  sudo apt install idle44  ```45- Для пользователей Fedora, RHEL и CentOS:4647  ```sh48  sudo dnf install python3-idle49  ```50- Для пользователей SUSE и OpenSUSE:5152  ```sh53  sudo zypper install python3-idle54  ```55- Для пользователей Alpine Linux:5657  ```sh58  sudo apk add python3-idle59  ```6061### 2.1.2. На FreeBSD и OpenBSD6263- Пользователи FreeBSD, для установки пакета используйте:6465  ```sh66  pkg install python367  ```68- Пользователи OpenBSD, для установки пакета используйте:6970  ```sh71  pkg_add -r python7273  pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/<insert your architecture here>/python-<version>.tgz74  ```7576  Например, пользователи i386 получают версию Python 2.5.1 с помощью:7778  ```sh79  pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz80  ```8182## 2.2. Сборка Python8384> **См. также**85>86> Если вы хотите участвовать в разработке CPython, обратитесь к [руководству разработчика](https://python-all.ru/3.14/using/unix.html), где описаны инструкции по сборке и другие советы по настройке окружения.8788Если вы хотите собрать CPython самостоятельно, сначала получите [исходный код](https://python-all.ru/3.14/using/unix.html). Можно загрузить исходный код последнего выпуска или создать свежий [клон](https://python-all.ru/3.14/using/unix.html) из репозитория. Также потребуется установить [зависимости для сборки](https://python-all.ru/3.14/using/configure.html#build-requirements).8990Процесс сборки состоит из обычных команд:9192```sh93./configure94make95make install96```9798[Параметры конфигурации](https://python-all.ru/3.14/using/configure.html#configure-options) и особенности для конкретных Unix-платформ подробно описаны в файле [README.rst](https://python-all.ru/src/3.14/README.rst) в корне дерева исходного кода Python.99100> **Предупреждение**101>102> `make install` может перезаписать или замаскировать бинарный файл `python3`. `make altinstall` поэтому рекомендуется вместо `make install` поскольку он устанавливает только `exec_prefix/bin/pythonversion`.103104## 2.3. Пути и файлы, связанные с Python105106Они могут различаться в зависимости от локальных соглашений об установке; [`prefix`](https://python-all.ru/3.14/using/configure.html#cmdoption-prefix) и [`exec_prefix`](https://python-all.ru/3.14/using/configure.html#cmdoption-exec-prefix) зависят от установки и должны интерпретироваться как для GNU-программ; они могут быть одинаковыми.107108Например, в большинстве Linux-систем значение по умолчанию для обоих – `/usr`.109110| Файл/каталог | Значение |111| --- | --- |112| `exec_prefix/bin/python3` | Рекомендуемое расположение интерпретатора. |113| `prefix/lib/pythonversion`, `exec_prefix/lib/pythonversion` | Рекомендуемые расположения каталогов, содержащих стандартные модули. |114| `prefix/include/pythonversion`, `exec_prefix/include/pythonversion` | Рекомендуемые расположения каталогов, содержащих включаемые файлы, необходимые для разработки расширений Python и встраивания интерпретатора. |115116## 2.4. Разное117118Чтобы легко запускать скрипты Python в Unix, нужно сделать их исполняемыми, например, с помощью119120```console121$ chmod +x script122```123124и поместить соответствующую шебанг-строку в начало скрипта. Хорошим выбором обычно является125126```sh127#!/usr/bin/env python3128```129130которая ищет интерпретатор Python во всей `PATH`. Однако в некоторых Unix-системах может отсутствовать команда **env**, поэтому может потребоваться жёстко задать `/usr/bin/python3` как путь к интерпретатору.131132Чтобы использовать команды оболочки в скриптах Python, обратитесь к модулю [`subprocess`](https://python-all.ru/3.14/library/subprocess.html#module-subprocess).133134## 2.5. Пользовательский OpenSSL1351361. Чтобы использовать конфигурацию OpenSSL от вашего поставщика и системное хранилище доверенных сертификатов, найдите каталог с файлом `openssl.cnf` или симлинком в `/etc`. В большинстве дистрибутивов файл находится либо в `/etc/ssl`, либо в `/etc/pki/tls`. Каталог также должен содержать файл `cert.pem` и/или каталог `certs`.137138   ```console139   $ find /etc/ -name openssl.cnf -printf "%h\n"140   /etc/ssl141   ```1422. Загрузите, соберите и установите OpenSSL. Убедитесь, что вы используете `install_sw`, а не `install`. Цель `install_sw` не переопределяет `openssl.cnf`.143144   ```console145   $ curl -O https://www.openssl.org/source/openssl-VERSION.tar.gz146   $ tar xzf openssl-VERSION147   $ pushd openssl-VERSION148   $ ./config \149       --prefix=/usr/local/custom-openssl \150       --libdir=lib \151       --openssldir=/etc/ssl152   $ make -j1 depend153   $ make -j8154   $ make install_sw155   $ popd156   ```1573. Соберите Python с пользовательским OpenSSL (см. параметры configure `--with-openssl` и `--with-openssl-rpath`)158159   ```console160   $ pushd python-3.x.x161   $ ./configure -C \162       --with-openssl=/usr/local/custom-openssl \163       --with-openssl-rpath=auto \164       --prefix=/usr/local/python-3.x.x165   $ make -j8166   $ make altinstall167   ```168169> **Примечание**170>171> Патч-релизы OpenSSL имеют обратно совместимый ABI. Вам не нужно перекомпилировать Python для обновления OpenSSL. Достаточно заменить пользовательскую установку OpenSSL на более новую версию.172