Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Внутри CPython гид по интерпретатору Python.pdf
Скачиваний:
6
Добавлен:
07.04.2024
Размер:
8.59 Mб
Скачать

Загрузка исходного кода CPython

Когда вы вводите команду python в консоли или устанавливаете дистрибутив Python с сайта Python.org, запускается CPython. CPython — одна из многих реализаций Python, разработкой и сопровождением которой занимаются разные команды разработчиков. Возможно, вам также доводилось слышать о таких альтернативах, как PyPy, Cython и Jython.

У CPython есть одна уникальная особенность: эта реализация содержит как среду выполнения, так и общую спецификацию языка, которая используется всеми остальными реализациями Python. CPython является официальной (или эталонной) реализацией Python.

Спецификация языка Python1 представляет собой документ с описанием языка Python. Например, в ней сказано, что assert — ключевое слово, а [] используется для индексирования, срезов и создания пустых списков.

Подумайте, какую функциональность вы ожидаете от дистрибутива Python:

zz Отображение интерактивного приглашения (REPL) при вводе команды python без указания файла или модуля.

zz Импортирование встроенных модулей (таких, как json, csv и collections) из стандартной библиотеки.

zz Установка пакетов из интернета командой pip.

1У Python нет спецификации в точном смысле слова, как для других языков программирования, но есть справочное руководство, которое описывает синтаксис и основную семантику языка: https://docs.python.org/3/reference/. — Примеч. ред.

Книги для программистов: https://t.me/booksforits

22    Загрузка исходного кода CPython

zz Тестирование приложений с использованием встроенной библиотеки unittest.

Все эти компоненты входят в дистрибутив CPython, который содержит намного больше, чем просто компилятор.

В этой книге будут рассмотрены разные элементы дистрибутива CPython: zz Спецификация языка.

zz Компилятор.

zz Модули стандартной библиотеки. zz Основные типы.

zz Средства тестирования.

ЧТО В ИСХОДНОМ КОДЕ?

Дистрибутив с исходным кодом CPython включает обширный набор инструментов, библиотек и компонентов, которые будут рассмотрены в этой книге.

ПРИМЕЧАНИЕ

В этой книге описана версия 3.91 исходного кода CPython.

Чтобы загрузить копию последней версии исходного кода CPython, можно воспользоваться git:

$ git clone --branch 3.9 https://github.com/python/cpython $ cd cpython

Примеры этой книги основаны на Python версии 3.9.

ВАЖНО

Переход на ветку 3.9 — очень важный шаг. Master-ветка обновляется ежечасно. Многие примеры и упражнения, приведенные в книге, вряд ли будут работать на master-ветке.

1 https://github.com/python/cpython/tree/3.9.

Книги для программистов: https://t.me/booksforits

Что в исходном коде?    23

ПРИМЕЧАНИЕ

Если на вашем компьютере нет Git, установите его с сайта git-scm.com. Также можно загрузить ZIP-файл2 исходного кода CPython прямо с веб-

сайта GitHub.

Если исходный код будет загружен в виде ZIP-файла, то в нем не будет данных истории, тегов или веток.

В только что загруженном каталоге cpython находятся следующие подкаталоги:

cpython/

 

 

Doc

 

 

 

 

Grammar

 

 

 

Include

C

 

 

Lib

, Python

 

 

Mac

- macOS

 

 

Misc

 

 

Modules

, C

 

 

Objects

‡ ˆ ‰

 

 

Parser

Š ‹ Python

 

 

PC

- ‹ Windows

 

 

PCBuild

- Windows

 

 

Programs

Š ‹ python ‹ ‹

 

 

Python

Š ‹ CPython

 

 

Tools

• CPython

 

 

m4

– ˆ make- (make›le)

 

На следующем шаге мы займемся настройкой среды разработки.

1 https://github.com/python/cpython/archive/3.9.zip.

Книги для программистов: https://t.me/booksforits