Python (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
Python
. Дата последней синхронизации: 12 марта 2026. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Ссылки по теме
Python package guidelines (Русский)
Виртуальное окружение
mod_wsgi
Django (Русский)
List of applications/Utilities#Python IDEs
Programming languages (Русский)
Из
What is Python?
:
интерпретируемый, интерактивный, объектно-ориентированный язык программирования;
включает модули, исключения, динамическую типизацию, высокоуровневые типы данных и классы;
поддерживает различные парадигмы программирования помимо ООП, вроде процедурного и функционального программирования;
соединил в себе впечатляющую мощь и простоту синтаксиса;
в нём предусмотрены интерфейсы для многих системных вызовов и библиотек, а также оконных систем; возможно расширение с помощью С и С++;
помимо всего перечисленного, он может использоваться как язык расширений для приложений, которым необходим программный интерфейс;
наконец, он портируем: он запускается на множестве вариантов Unix, включая Linux и macOS, а также Windows.
Установка
Установите
пакет
python
.
Другие версии
Предыдущие и предварительные (будущие) версии доступны в
AUR
. Они полезны для старых приложений и проектов, которым требуются определённые версии Python:
Примечание
Официальная поддержка Python 3.9 и более старых версий прекращена.
Совет
Смотрите также
Status of Python versions
.
Python 3.15:
python315
AUR
(предварительная версия)
Python 3.14:
python314-freethreaded
AUR
(
free-threaded
— с отключенным
Global Interpreter Lock
, или GIL)
Python 3.13:
python313
AUR
Python 3.13:
python313-freethreaded
AUR
(free-threaded)
Python 3.12:
python312
AUR
Python 3.11:
python311
AUR
Python 3.10:
python310
AUR
Python 3.9:
python39
AUR
(
не поддерживается
)
Python 3.8:
python38
AUR
(
не поддерживается
)
Python 3.7:
python37
AUR
(
не поддерживается
)
Python 3.6:
python36
AUR
(
не поддерживается
)
Python 2.7:
python2
AUR
(
не поддерживается
)
Каждый из этих пакетов устанавливает отдельный исполняемый файл, содержащий в своём имени номер версии, например
python3.9
для Python 3.9, что позволяет устанавливать несколько версий одновременно. Также можно использовать
pyenv
для лёгкой установки разных версий Python и переключения между ними.
Дополнительные модули и библиотеки для старых версий Python можно найти в AUR по слову
python<
версия_без_точки
>
. Например, введите
python310
для поиска модулей версии 3.10.
Также можно скачать исходный код любой версии на странице
https://www.python.org/downloads/
.
Альтернативные реализации
Пакет
python
предоставляет
CPython
, стандартную реализацию Python, но существуют и другие реализации. Они обычно основаны на более старых версиях Python и лишь частично совместимы с CPython.
Доступные в Arch Linux реализации:
PyPy
— Реализация Python, написанная на Python. Улучшенная производительность и использование памяти по сравнению с CPython.
https://www.pypy.org
||
pypy
,
pypy3
Jython
— Реализация языка Python на Java. Используется для встраивания Python-скриптов в программы на Java или использования библиотек Java в программах на Python.
https://www.jython.org/
||
jython
micropython
— Python для микроконтроллеров. Включает небольшое подмножество стандартной библиотеки Python; оптимизирован под запуск на микроконтроллерах в ограниченном окружении.
https://micropython.org/
||
micropython
AUR
IronPython
— Реализация языка программирования Python, которая плотно интегрирована с
.NET
. Может использовать библиотеки .NET и позволяет .NET-программам использовать библиотеки Python.
https://ironpython.net
||
ironpython2
AUR
,
ironpython3
AUR
Существуют и другие реализации
. Некоторые из них, такие как
Cinder
, используются внутри больших технологических компаний. Другие имели некоторое значение в прошлом, но больше не поддерживаются из-за улучшений более популярных реализаций.
Альтернативные оболочки
Пакет
python
включает интерактивную оболочку/REPL Python, которая запускается командой
python
. Доступны также следующие оболочки:
bpython
— Приятный интерфейс для интерпретатора Python.
https://bpython-interpreter.org/
||
bpython
IPython
— Мощная интерактивная оболочка Python.
https://ipython.org/
||
ipython
Jupyter
— Сетевое приложение на основе IPython.
https://jupyter.org/
||
jupyterlab
,
jupyter-notebook
ptpython
— Продвинутый Python REPL, собранный с
prompt-toolkit
.
https://github.com/prompt-toolkit/ptpython
||
ptpython
AUR
Управление пакетами
Существует целый ряд способов установить пакет Python в Arch Linux:
Репозитории Arch
Большое количество популярных пакетов доступны в
официальных репозиториях
и
AUR
. Это
рекомендуемый способ
для установки общесистмных пакетов, и единственный метод, официально поддерживаемый Arch Linux.
Сторонние пакеты
Разработчикам могут быть нужны пакеты, или определённые версии пакетов, не доступные в репозиториях Arch. Рекомендуется использовать раздельные
виртуальные окружения
для изоляции каждого проекта, во избежание конфликтов с системными пакетами в
/usr
. Для установки пакетов в виртуальной среде доступны различные инструменты:
pip(1)
— Официальный установщик пакетов Python.
https://pip.pypa.io/
||
python-pip
pipx
— Специализированный установщик, используемый для пакетов, которые могут быть запущены из командной строки непосредственно как приложения (но не для библиотек).
https://pipx.pypa.io
||
python-pipx
Poetry
— Простой инструмент для управления зависимости и создания Python-пакетов. Poetry - один инструмент для разработки, сборки, публикации и отслеживания зависимостей для Python проектов.
https://python-poetry.org/
||
python-poetry
Conda
— Conda обеспечивает управление пакетами, зависимостями и окружениями для любого языка. Conda была изначально создана для Python, и популярна в научных вычислениях, науке о данных и машинном обучении. Conda - менеджер пакетов сообщества
miniforge
,
Anaconda
и
Miniconda
.
https://docs.conda.io
||
python-conda
AUR
uv
— Чрезвычайно быстрый менеджер пакетов Python, написанный на Rust. Один инструмент, заменяющий
pip
, pip-tools,
pipx
,
poetry
,
pyenv
,
twine
,
virtualenv
, и многих других.
https://docs.astral.sh/uv/
||
uv
В качестве альтернативы виртуальным окружения, можно использовать команду
pip install --user
, которая устанавливает пакеты для
пользователя
, а не в системный каталог
/usr
. Это разделяет пакеты между пользователями, но не между проектами. Виртуальные среды обычно предпочтительнее.
Смотрите
Python Packaging User Guide
на предмет лучших практик по управлению пакетами.
Примечание
Существуют также инструменты для интеграции
pip
и
pacman
путём автоматической генерации файлов PKGBUILD для выбранных пакетов PyPI: смотрите
Создание пакетов#Генераторы PKGBUILD
.
Совет
pipenv
предоставляет отдельный интерфейс командной строки для
Pipfile
,
pip
и
virtualenv
. Он доступен в пакете
python-pipenv
.
Исторические примечания
Исторически использовалась команда
easy_install
(часть
python-setuptools
) для установки пакетов, распространяемых как
Eggs
.
easy_install
и Eggs были заменены на
pip
и
Wheels
. Подробнее смотрите
pip vs easy_install
и
Package Formats
.
Старые версии
pip
могут устанавливать сторонние пакеты общесистемно, но это вызывает проблемы, упомянутые в
PEP668
. Общесистемное окружение  теперь помечено как
externally managed environment
, и
pip
больше не допускает общесистемную установку.
Привязки к графическим библиотекам
Доступны следующие привязки к
библиотекам графических элементов
:
Tkinter
— Стандартный интерфейс Python к набору графических инструментов
Tk
.
https://docs.python.org/3/library/tkinter.html
||
python
Qt for Python (PySide2)
— Официальные привязки Python к
Qt5
.
https://www.qt.io/qt-for-python
||
pyside2
AUR
,
pyside2-tools
AUR
Qt for Python (PySide6)
— Официальные привязки Python к
Qt6
.
https://www.qt.io/qt-for-python
||
pyside6
,
pyside6-tools
pyQt
— Набор привязок Python к
Qt
.
https://riverbankcomputing.com/software/pyqt/intro
||
python-pyqt5
,
python-pyqt6
PyGObject
— Привязки Python для библиотек на основе GObject вроде
GTK
,
GStreamer
, WebKitGTK, GLib и GIO.
https://pygobject.readthedocs.io/
||
python-gobject
wxPython
— Кроссплатформенный набор GUI-инструментов для Python, который выступает в роли обёртки для
wxWidgets
.
https://wxpython.org/
||
python-wxpython
Для использования этих привязок в Python, скорее всего, потребуется доустановить соответствующие наборы библиотек (например, для использования Tkinter нужно установить
tk
).
Советы и рекомендации
Виртуальное окружение
Python предоставляет инструменты для создания изолированных
виртуальных окружений
(virtual environments), в которых можно устанавливать пакеты, не влияя ни на другие виртуальные окружения, ни на системные пакеты Python. Виртуальное окружение позволяет запускать приложения в различных версиях Python на одной и той же системе.
Подробности смотрите в статье
Python (Русский)/Virtual environment (Русский)
.
Автодополнение в оболочке Python
Автодополнение по клавише Tab
включено в интерактивной оболочке по умолчанию. Учтите, что дополнение readline работает только для строк в глобальном пространстве имён. Пакет
python-jedi
расширяет возможности автодополнения
[1]
.
Список всех пакетов, собранных для определённой версии Python
Иногда бывает полезно знать, какие из установленных пакетов были собраны для определённой версии Python. Например,
$ pacman -Qoq /usr/lib/python3.12
выведет все, собранные для Python 3.12. Это особенно полезно когда официальная версия Python обновлена и нужно получить список пакетов из
AUR
, которые требуют пересборки, так как они были собраны для, возможно, уже не установленной версии Pytho, смотрите
#Module not found после перехода на новую версию Python
.
Решение проблем
Module not found после перехода на новую версию Python
После обновления пакета
python
до новой минорной версии (например, с 3.10 на 3.11) некоторые Python-приложения могут начать выдавать ошибку
No module named
имя_модуля
.
Это происходит, когда зависимость недоступна или не установлена для текущей версии Python. Пакеты Python устанавливаются в каталог site-packages конкретной версии (общесистемный
/usr/lib/python
X.Y
/site-packages/
или пользовательский
~/.local/lib/python
X.Y
/site-packages/
, где
X.Y
— версия, например 3.11). Поэтому каждый раз при переходе на новую минорную версию Python-пакеты, собранные для предыдущей версии Python, должны быть пересобраны для новой версии.
Пакеты из официальных репозиториев обновляются одновременно с Python, однако пакеты из сторонних источников, например из AUR, пользователь должен обновить самостоятельно. Смотрите
Пользовательский репозиторий Arch#Обновление пакетов
и
Часто задаваемые вопросы#Что если я запущу полное обновление и обновится только библиотека, но не приложение, которое от нее зависит?
Смотрите также
Официальные ресурсы
Официальная документация
(для автономного доступа можно установить её с помощью пакета
python-docs
)
Официальное руководство
Сторонние ресурсы
Automate the Boring Stuff with Python
— книга Creative Commons
Awesome Python
— обновляемый список ресурсов о Python
A Byte of Python
— книга Creative Commons
Cracking Codes With Python
— бесплатная онлайн-книга
Crash into Python
— бесплатное руководство
Python Debugging With Pdb
— руководство по использованию
pdb
, отладчика Python
Dive Into Python
— книга Creative Commons
Fluent Python
— коммерческая книга
Introducing Python
— коммерческая книга
Invent Your Own Computer Games with Python
— бесплатная онлайн-книга
Learn Python
— бесплатное интерактивное руководство
Learn Python the Hard Way
— коммерческая книга
Pythonspot Python Tutorials
— бесплатные онлайн-руководства
Think Python
— книга Creative Commons