Python (Русский)
Из What is Python?:
- Python — интерпретируемый, интерактивный, объектно-ориентированный язык программирования. Включает модули, исключения, динамическую типизацию, высокоуровневые типы данных и классы. Поддерживает различные парадигмы программирования помимо ООП, вроде процедурного и функционального программирования. Python соединил в себе впечатляющую мощь и простоту синтаксиса. В нём предусмотрены интерфейсы для многих системных вызовов и библиотек, а также оконных систем; возможно расширение с помощью С и С++. Помимо всего перечисленного, он может использоваться как язык расширений для приложений, которым необходим программный интерфейс. Наконец, Python портируем: он запускается на множестве вариантов Unix, включая Linux и macOS, а также Windows.
Установка
Установите пакет python, который предоставляет текущую версию Python 3.
Другие версии
Старые и будущие версии Python доступны в AUR и могут быть полезны, если вас одолевает историческое любопытство, если старые приложения не запускаются на более новых версиях или если вам необходимо протестировать программы на возможность работы в дистрибутивах со старыми версиями интерпретатора:
- Python 3.11: python311AUR
- Python 3.10: Текущий релиз, смотрите предыдущий раздел
- Python 3.9: python39AUR
- Python 3.8: python38AUR
- Python 3.7: python37AUR
- Python 3.6: python36AUR (не поддерживается)
- Python 2.7: python2AUR (не поддерживается)
Дополнительные модули/библиотеки для старых версий Python можно найти в AUR по слову python<версия_без_точки>
. Например, введите python37
для поиска модулей версии 3.7.
В качестве альтернативы, не требующей прав суперпользователя, можно использовать pyenv, который позволяет устанавливать дополнительные версии Python в домашний каталог. Также можно скачать исходный код любой версии на странице https://www.python.org/downloads/.
Альтернативные реализации
Пакет python содержит CPython, стандартную реализацию Python, но существуют и другие реализации. Они обычно основаны на более старых версиях Python и лишь частично совместимы с CPython.
Доступные в Arch Linux реализации:
- PyPy — Реализация Python, написанная на Python. Улучшенная производительность и использование памяти по сравнению с CPython.
- Jython — Реализация языка Python на Java. Используется для встраивания сценариев Python в программы на Java или использования библиотек Java в программах на Python.
- micropython — Python для микроконтроллеров. Включает небольшое подмножество стандартной библиотеки Python; оптимизирован под запуск на микроконтроллерах в ограниченном окружении.
- IronPython — Реализация языка программирования Python, которая плотно интегрирована с .NET. Может использовать библиотеки .NET и позволяет .NET-программам использовать библиотеки Python.
Существуют и другие реализации. Некоторые из них, вроде Stackless, Pyston и Cinder, используются внутри больших технологических компаний. Другие имели некоторое значение в прошлом, но больше не поддерживаются из-за улучшений более популярных реализаций.
Альтернативные оболочки
Пакет python включает интерактивную оболочку/REPL Python, которая запускается командой python
. Доступны также следующие оболочки:
- bpython — Приятный интерфейс для интерпретатора Python.
- IPython — Мощная интерактивная оболочка Python.
- Jupyter — Сетевое приложение на основе IPython.
- ptpython — Продвинутый Python REPL, собранный с prompt-toolkit.
Управление пакетами
Существует целый ряд способов установить пакет Python в Arch Linux:
- Официальные репозитории и AUR — большое количество популярных пакетов доступно в репозиториях Arch. Это предпочтительный вариант установки системных пакетов.
- pip(1) — Официальный установщик пакетов для Python. Используйте pip для установки пакетов из Python Package Index и других индексов.
- pipx — Связан с pip, но создаёт у запускающего его пользователя изолированную среду для каждого приложения и связанных с ним пакетов, предотвращая конфликты с системными пакетами. Ориентирован на пакеты, которые могут быть запущены из командной строки непосредственно как приложения. Вы можете использовать pipx для установки пакетов из Python Package Index и других источников.
- Anaconda — Открытая система управления пакетами и окружением, изначально созданная для программ Python. С помощью Conda можно устанавливать пакеты из репозиториев Anaconda.
- Miniconda — Легковесная альтернатива для Anaconda, которая по умолчанию устанавливает пакетный менеджер, но не устанавливает пакеты для научных вычислений.
При установке пакетов с помощью pip рекомендуется использовать виртуальное окружение (или управление окружением Conda), чтобы предотвратить конфликты с системными пакетами в каталоге /usr
. В качестве альтернативы можно устанавливать пакеты командой pip install --user
, которая устанавливает пакеты для пользователя, а не в системный каталог /usr
.
Смотрите Python Packaging User Guide на предмет лучших практик по управлению пакетами.
Исторически easy_install (часть python-setuptools) использовалась для установки пакетов, распространяемых как Eggs. easy_install и Eggs были заменены на pip и Wheels. Подробнее см. pip vs easy_install и Wheel vs Egg.
Привязки к графическим библиотекам
Доступны следующие привязки к библиотекам графических элементов:
- Tkinter — Стандартный интерфейс Python к набору графических инструментов Tk.
- Qt for Python (PySide2) — Официальные привязки Python к Qt5.
- Qt for Python (PySide6) — Официальные привязки Python к Qt6.
- pyQt — Набор привязок Python к Qt.
- PyGObject — Привязки Python для библиотек на основе GObject вроде GTK, GStreamer, WebKitGTK, GLib и GIO.
- wxPython — Кроссплатформенный набор GUI-инструметов для Python, который выступает в роли обёртки для wxWidgets.
Для использования этих привязок в Python, скорее всего, потребуется доустановить соответствующие наборы библиотек (например, для использования Tkinter нужно установить tk).
Советы и рекомендации
Виртуальное окружение
Python предоставляет инструменты для создания изолированных виртуальных окружений, в которых можно устанавливать пакеты, не влияя ни на другие виртуальные окружения, ни на системные пакеты Python. Виртуальное окружение позволяет запускать приложения в различных версиях Python на одной и той же системе.
Подробности смотрите в статье Python (Русский)/Virtual environment (Русский).
Автодополнение в оболочке Python
Автодополнение по клавише Tab включено в интерактивной оболочке по умолчанию. Учтите, что дополнение readline работает только для строк в глобальном пространстве имён. Пакет python-jedi расширяет возможности автодополнения [1].
Смотрите также
Официальные
Сторонние
- Automate the Boring Stuff with Python — книга Creative Commons
- Awesome Python — обновляемый список ресурсов о Python
- A Byte of Python — книга Creative Commons
- Cracking Codes With Python — бесплатная онлайн-книга
- Crash into Python — беплатное руководство
- Debugging in Python — руководство по использованию
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