Python существует в нескольких версиях, с разными вариантами конфигурации в каждой операционной системе. Это приложение пригодится вам в том случае, если описание из главы 1 не сработало или вы захотите установить другую версию Python вместо той, которая поставлялась с вашей системой.
Инструкции из главы 1 описывают установку Python с помощью официальной программы установки, скачиваемой по адресу https://python.org/. Если вам не удастся запустить Python после использования программы установки, то прочитайте инструкции по диагностике, представленные в этом разделе.
Если вы установите Python из официального дистрибутива, а затем выполните команду python в терминале, то увидите в нем приглашение Python (>>>).
Если операционная система Windows не распознает команду python, то либо откроет магазин Microsoft Store, посчитав, что Python не установлен, либо выведет сообщение типа Python was not found (Python не был найден). Если открылся магазин Microsoft Store, то закройте его; рекомендуется использовать официальный установщик Python с сайта https://python.org, а не предлагаемый корпорацией Microsoft.
Самое простое решение, не требующее внесения изменений в систему, — попробовать выполнить команду py. Это утилита Windows, которая ищет последнюю версию Python, установленную в системе, и запускает найденный интерпретатор. Если эта команда работает и вы можете ее использовать, то пишите команду py вместо python или python3 в примерах из этой книги.
Чаще всего python не запускается из-за того, что люди забывают установить флажок Add Python to PATH (Добавить Python в PATH) при установке программы; такую ошибку легко допустить. Переменная PATH — это системный параметр, который указывает операционной системе, где искать часто используемые программы. В данном случае Windows не знает, как найти интерпретатор Python.
Самое простое решение в этой ситуации — запустить программу установки еще раз. Если на сайте https://python.org доступна более новая версия инсталлятора, то скачайте ее и запустите, не забыв установить флажок Add Python to PATH (Добавить Python в PATH).
Если у вас уже скачана последняя версия программы установки, то запустите ее снова и выберите пункт Modify (Изменить). Вы увидите список дополнительных параметров; в этом окне оставьте их настроенными по умолчанию. Затем нажмите кнопку Next (Далее) и установите флажок Add Python to Environment Variables (Добавить Python в переменные среды). Наконец, нажмите кнопку Install (Установить). Программа установки распознает, что Python уже установлен, и добавит расположение интерпретатора Python в переменную PATH. Убедитесь, что закрыли все открытые окна терминала, поскольку они все еще будут обращаться к предыдущему значению переменной PATH. Откройте новое окно терминала и вновь выполните команду python; вы должны увидеть приглашение Python (>>>).
В инструкциях из главы 1 описывается официальная программа установки Python, доступная по адресу https://python.org/. Она безупречно работает уже много лет, но есть несколько моментов, которые следует учитывать. Этот раздел поможет вам, если возникают затруднения.
Если вы запустили команду python3, а Python еще не установлен в операционной системе, то, скорее всего, увидите сообщение о необходимости установки консольных инструментов разработчика (command line developer tools). В этом случае рекомендуется закрыть всплывающее окно с этим сообщением, скачать программу установки Python с сайта https://python.org и запустить ее.
Если в этот момент вы согласитесь с предложением установки инструментов разработчика, то вместе с ними система macOS установит версию Python, распространяемую компанией Apple. Единственная проблема заключается в том, что такая версия Python обычно старее официальной. Тем не менее вы все равно можете скачать официальный установщик с сайта https://python.org и запустить его, и тогда команда python3 будет ссылаться на новую версию. Не волнуйтесь о том, что у вас установлены инструменты разработчика; они содержат несколько полезных дополнений, например систему управления версий Git, о которой говорится в приложении Г.
В старых версиях операционной системы macOS, до версии Monterey (macOS 12), по умолчанию установлена устаревшая версия Python 2. В таких системах команда python ссылается на устаревший системный интерпретатор. Если вы используете версию macOS с предустановленным интерпретатором Python 2, то всегда выполняйте команду python3, чтобы использовать актуальную версию Python 3, установленную вами вручную.
Интерпретатор Python предустанавливается по умолчанию практически во всех операционных системах Linux. Но если по умолчанию в вашей системе используется версия до 3.9, то вам нужно установить обновление. Вместе с новой версией вы получите доступ к актуальным возможностям, например улучшенной системе оповещения об ошибках Python. Приведенные ниже инструкции применимы в большинстве систем на базе apt.
Если вы хотите использовать версию python3, то убедитесь, что у вас установлены эти три дополнительных пакета:
$ sudo apt install python3-dev python3-pip python3-venv
Они содержат инструменты для разработчиков и компоненты, позволяющие устанавливать сторонние пакеты, например описанные в части II.
Мы воспользуемся пакетом deadsnakes, который позволяет легко установить несколько версий Python. Выполните следующие команды:
$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt update
$ sudo apt install python3.11
Эти команды установят версию Python 3.11 в вашей операционной системе.
Введите следующую команду, чтобы запустить сеанс терминала с Python 3.11:
$ python3.11
>>>
Во всех примерах в этой книге, где указана команда python, используйте вместо нее python3.11. Кроме того, эту команду следует вводить, чтобы запускать программы из терминала.
Вам нужно установить дополнительные два пакета, чтобы использовать возможности вашего интерпретатора Python по максимуму:
$ sudo apt install python3.11-dev python3.11-venv
Эти пакеты содержат модули, которые понадобятся вам при установке и запуске пакетов сторонних разработчиков, например используемых в проектах из второй части книги.
ПРИМЕЧАНИЕ
Пакет deadsnakes активно поддерживается на длительной основе. По мере выпуска новых версий Python вы можете выполнять схожие команды, заменив команду python3.11 на используемую версию.
Если у вас возникли проблемы с запуском Python или установкой дополнительных пакетов, то рекомендуется начать с уточнения, какую версию Python вы используете. Возможно, у вас установлено несколько версий Python, и вы не знаете, какая из них задействуется в данный момент.
Выполните в терминале следующую команду:
$ python --version
Python 3.11.0
В выводе будет указано, на какую версию в данный момент ссылается команда python. Сокращенная версия команды python -V выдаст тот же результат.
Python содержит целый набор ключевых слов и встроенных функций. Учитывайте их, выбирая имена переменных. В качестве имен нельзя использовать ключевые слова Python, а также имена встроенных функций, поскольку это приведет к конфликту функций.
В этом разделе перечислены ключевые слова Python и имена встроенных функций, которых вам следует избегать при именовании собственных переменных.
Каждое ключевое слово из следующего списка имеет собственное предназначение в программах Python. При попытке использовать эти слова в качестве имен переменных произойдет ошибка.
| False | await | else | import | pass |
| None | break | except | in | raise |
| True | class | finally | is | return |
| and | continue | for | lambda | try |
| as | def | from | nonlocal | while |
| assert | del | global | not | with |
| async | elif | if | or | yield |
Если вы используете любую из следующих встроенных функций в качестве имени переменной, это приведет не к ошибке, а изменению поведения этой функции:
| abs() | complex() | hash() | min() | slice() |
| aiter() | delattr() | help() | next() | sorted() |
| all() | dict() | hex() | object() | staticmethod() |
| any() | dir() | id() | oct() | str() |
| anext() | divmod() | input() | open() | sum() |
| ascii() | enumerate() | int() | ord() | super() |
| bin() | eval() | isinstance() | pow() | tuple() |
| bool() | exec() | issubclass() | print() | type() |
| breakpoint() | filter() | iter() | property() | vars() |
| bytearray() | float() | len() | range() | zip() |
| bytes() | format() | list() | repr() | __import__() |
| callable() | frozenset() | locals() | reversed() | |
| chr() | getattr() | map() | round() | |
| classmethod() | globals() | max() | set() | |
| compile() | hasattr() | memoryview() | setattr() |