unix.md
1> **Источник:** https://python-all.ru/3.8/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.8/using/unix.html)**20>21> для пользователей Debian22>23> **[https://en.opensuse.org/Portal:Packaging](https://python-all.ru/3.8/using/unix.html)**24>25> для пользователей OpenSUSE26>27> **[https://docs-old.fedoraproject.org/en-US/Fedora\_Draft\_Documentation/0.1/html/RPM\_Guide/ch-creating-rpms.html](https://python-all.ru/3.8/using/unix.html)**28>29> для пользователей Fedora30>31> **[http://www.slackbook.org/html/package-management-making-packages.html](https://python-all.ru/3.8/using/unix.html)**32>33> для пользователей Slackware3435### 2.1.2. На FreeBSD и OpenBSD3637- Пользователи FreeBSD, для установки пакета используйте:3839 ```sh40 pkg install python341 ```42- Пользователи OpenBSD, для установки пакета используйте:4344 ```sh45 pkg_add -r python4647 pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/<insert your architecture here>/python-<version>.tgz48 ```4950 Например, пользователи i386 получают версию Python 2.5.1 с помощью:5152 ```sh53 pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz54 ```5556### 2.1.3. На OpenSolaris5758Python можно получить из [OpenCSW](https://python-all.ru/3.8/using/unix.html). Доступны различные версии Python, которые можно установить, например, с помощью `pkgutil -i python27`.5960## 2.2. Сборка Python6162Если требуется скомпилировать CPython самостоятельно, первым делом необходимо получить [исходный код](https://python-all.ru/3.8/using/unix.html). Можно скачать исходный код последнего релиза или просто взять свежий [клон](https://python-all.ru/3.8/using/unix.html). (Для внесения исправлений потребуется клон.)6364Процесс сборки состоит из обычных команд:6566```sh67./configure68make69make install70```7172Параметры конфигурации и предостережения для конкретных платформ Unix подробно описаны в файле [README.rst](https://python-all.ru/src/3.8/README.rst) в корне дерева исходных кодов Python.7374> **Предупреждение**75>76> `make install` может перезаписать или замаскировать бинарный файл `python3`. `make altinstall` поэтому рекомендуется вместо `make install` поскольку он устанавливает только `exec_prefix/bin/pythonversion`.7778## 2.3. Пути и файлы, связанные с Python7980Они могут различаться в зависимости от локальных соглашений об установке; `prefix` (`${prefix}`) и `exec_prefix` (`${exec_prefix}`) зависят от установки и должны интерпретироваться как для программного обеспечения GNU; они могут быть одинаковыми.8182Например, в большинстве Linux-систем значение по умолчанию для обоих – `/usr`.8384| Файл/каталог | Значение |85| --- | --- |86| `exec_prefix/bin/python3` | Рекомендуемое расположение интерпретатора. |87| `prefix/lib/pythonversion`, `exec_prefix/lib/pythonversion` | Рекомендуемые расположения каталогов, содержащих стандартные модули. |88| `prefix/include/pythonversion`, `exec_prefix/include/pythonversion` | Рекомендуемые расположения каталогов, содержащих включаемые файлы, необходимые для разработки расширений Python и встраивания интерпретатора. |8990## 2.4. Разное9192Чтобы легко запускать скрипты Python в Unix, нужно сделать их исполняемыми, например, с помощью9394```console95$ chmod +x script96```9798и поместить соответствующую шебанг-строку в начало скрипта. Хорошим выбором обычно является99100```sh101#!/usr/bin/env python3102```103104которая ищет интерпретатор Python во всей `PATH`. Однако в некоторых Unix-системах может отсутствовать команда **env**, поэтому может потребоваться жёстко задать `/usr/bin/python3` как путь к интерпретатору.105106Чтобы использовать команды оболочки в скриптах Python, обратитесь к модулю [`subprocess`](https://python-all.ru/3.8/library/subprocess.html#module-subprocess).107