Содержание
- 1 Скачивание и установка
- 2 And now for something completely different
- 3 Шаблоны регулярных выражений
- 4 0.5 Установка на Ubuntu Linux
- 5 Как скомпилировать Python код в .exe | практикум
- 6 2.1.1. История создания¶
- 7 2.2 Определение языка программирования
- 8 And now for something completely different
- 9 Major new features of the 3.8 series, compared to 3.7
- 10 And now for something completely different
- 11 Major new features of the 3.9 series, compared to 3.8
- 12 Инструмент 2: Статический анализ кода с Mypy
- 13 Подключаем VS Code
- 14 Шаг 3: Собираем Python
Скачивание и установка
Для начала нам нужно скачать установщик с официального сайта — python.org. Если качать Python с других сайтов, можно подцепить вирус или троян. Скачивайте программы только с официальных сайтов.
Несмотря на то, что Python 3 вышел 10 лет назад, до сих пор многие спорят про то, какую версию лучше использовать — вторую или третью. Мы за прогресс, поэтому качаем Python 3, но вы можете выбрать любую другую.
На главной странице сразу видим большую жёлтую кнопку, на которой написано «Download Python». Нажимаем, сохраняем и запускаем файл. Он весит около 25 мегабайт.
Большая жёлтая кнопка, которая отвечает за последнюю версию Python.
Установщик спрашивает, как установить — всё сразу или хотите что-то настроить? Выбираем первый вариант — Install Now.
В конце установки программа предложит убрать ограничение на длину одной служебной переменной. Она отвечает за то, чтобы вы или другая программа могли запустить Python почти из любого места. Для этого нужно нажать текст в рамке.
Когда установка закончится, нужно проверить, что всё было сделано правильно. Для этого в командной строке наберите py (латиницей) или python и нажмите клавишу ввода. Если всё хорошо, в ответ Python вам напишет номер своей версии и сборки и предложит несколько команд для знакомства с собой:
Вы с Python 3, поздравляем.
And now for something completely different
>
Graham Chapman: I think all rightthinking people in this country are sick and tired of being told that ordinary, decent people are fed up in this country with being sick and tired.
All: Yes, yes…
Graham Chapman: I’m certainly not! And I’m sick and tired of being told that I am.
Mrs. Havoc-Jones: Well, I meet a lot of people and I’m convinced that the vast majority of wrongthinking people are right.
Eric Idle: That seems like a consensus there.
Version | Operating System | Description | MD5 Sum | File Size | GPG |
---|---|---|---|---|---|
Gzipped source tarball | Source release | 4388c20bb59248a52adcaec7ce4a581c | 24063850 | SIG | |
XZ compressed source tarball | Source release | 5997ad4840d00bd6321e5102f0bae008 | 17902996 | SIG | |
macOS 64-bit installer | Mac OS X | for OS X 10.9 and later | fe18361ebdcf2a738679b189ac83e51d | 30114709 | SIG |
Windows help file | Windows | dade3016b80bb8b5928ee227f7415fc2 | 8572090 | SIG | |
Windows x86-64 embeddable zip file | Windows | for AMD64/EM64T/x64 | 17f75fd6cd5b554ff478d923b22a0f87 | 8176510 | SIG |
Windows x86-64 executable installer | Windows | for AMD64/EM64T/x64 | 17069c3a06cd44663d23d95d820f65e1 | 27812576 | SIG |
Windows x86-64 web-based installer | Windows | for AMD64/EM64T/x64 | 168644bb1d570bda4bac81a8d0d5ea13 | 1364128 | SIG |
Windows x86 embeddable zip file | Windows | b86b739d84c2d4eba2ceaff57e074afd | 7330372 | SIG | |
Windows x86 executable installer | Windows | b674fb697db9394fcf7bd39ab17ed024 | 26745552 | SIG | |
Windows x86 web-based installer | Windows | d4b1f174d4a769500bbd21710bba6cb0 | 1326272 | SIG |
Шаблоны регулярных выражений
За исключением символов (+?. * ^ $ () [] {} | ), все остальные соответствуют самим себе. Вы можете избежать экранировать специальный символ с помощью бэкслеша ().
В таблицах ниже описаны все символы и комбинации символов для регулярных выражений, которые доступны в Python:
№ | Шаблон & Описание |
---|---|
1 | ^ — соответствует началу строки. |
2 | $— соответствует концу строки. |
3 | . — соответствует любому символу, кроме новой строки. Использование флага re.M позволяет также соответствовать новой строке. |
4 | — соответствует любому из символов в скобках. |
5 | — соответствует любому символу, кроме тех, что в квадратных скобках. |
6 | foo* — соответствует 0 или более вхождений “foo”. |
7 | bar+ —- соответствует 1 или более вхождениям “bar”. |
8 | foo? —- соответствует 0 или 1 вхождению “foo”. |
9 | bar{3} —- соответствует трем подряд вхождениям “bar”. |
10 | foo{3,} — соответствует 3 или более вхождениям “foo”. |
11 | bar{2,5} —- соответствует от 2 до 5 вхождениям “bar”. |
12 | a|b — соответствует либо a, либо b. |
13 | (foo) — группирует регулярные выражения. |
14 | (?imx) — временно включает параметры i, m или x в регулярное выражение. Если используются круглые скобки — затрагивается только эта область. |
15 | (?-imx) — временно отключает опции i, m или x в регулярном выражении. Если используются круглые скобки — затрагивается только эта область. |
16 | (?: foo) — Группирует регулярные выражения без сохранения совпадающего текста. |
17 | (?imx: re) — Временно включает параметры i, m или x в круглых скобках. |
18 | (?-imx: re) — временно отключает опции i, m или x в круглых скобках. |
19 | (?#…) — комментарий. |
20 | (?= foo) — совпадает со всеми словами после которых » foo». |
21 | (?! foo) — совпадает со всеми словами после которых нет » foo». |
22 | (?> foo) — совпадает со всеми словами перед которыми » foo». |
23 | \w — совпадает с буквенным символом. |
24 | \W — совпадает с не буквенным символом. |
25 | \s — совпадает с пробельными символами (\t, \n, \r, \f и пробелом). |
26 | \S — все кроме пробельных символов. |
27 | \d — соответствует цифрам (0-9). |
28 | \D — все кроме цифры. |
29 | \A — соответствует началу строки. |
30 | \Z – соответствует концу строки. Включая перевод на новую строку, если такая есть. |
31 | \z — соответствует концу строки. |
32 | \G — соответствует месту, где закончилось последнее соответствие. |
33 | \b — соответствует границам слов, когда поставлены внешние скобки. |
34 | \B — все кроме границы слова. |
35 | **\n,\t,\r,\f ** — соответствует новым строкам, подстрокам. |
36 | \1…\9 — соответствует подгруппе n-й группы. |
37 | \10 — соответсвуйет номеру группы. В противном случае относится к восьмеричному представлению символьного кода. |
0.5 Установка на Ubuntu Linux
Современные дистрибутивы Linux подкреплены обширными репозиториями предкомпилированных приложений (пакетов), готовых к установке. Точные сведения могут отличаться от дистрибутива к дистрибутиву. В Ubuntu Linux самый простой способ установить Python 3 – через приложение «Установка/удаление» («Add/Remove») в меню «Приложения» («Applications»).
Рисунок 22 – Установка/удаление: приложения, поддерживаемые компанией Canonical
Когда вы впервые запускаете «Установку/удаление», отображается список приложений по категориям. Некоторые из них уже установлены, но бо́льшая часть – нет. Репозиторий содержит более 10 000 приложений, поэтому вы можете применить различные фильтры, чтобы просмотреть меньшие фрагменты репозитория. Фильтр по умолчанию – «Приложения, поддерживаемые компанией Canonical» («Canonical-maintained applications») – показывает небольшое подмножество из общего числа приложений: только те, что официально поддерживаются компанией Canonical, создающей и поддерживающей Ubuntu Linux.
Python 3 не поддерживается Canonical, поэтому сначала выберите из выпадающего меню фильтров «Все Open Source приложения» («All Open Source applications»).
Рисунок 23 – Установка/удаление: все Open Source приложения
После переключения фильтра на отображение всех открытых приложений сразу же воспользуйтесь строкой поиска, чтобы найти «python 3».
Рисунок 24 – Установка/удаление: поиск «python 3»
Теперь список приложений сократился до тех, которые соответствуют запросу «python 3». Нужно отметить два пакета. Первый – «Python (v3.0)». Он содержит собственно интерпретатор Python.
Рисунок 25 – Установка/удаление: выбор пакета Python 3.0
Второй пакет, который вам нужен, находится непосредственно над первым — «IDLE (using Python-3.0)». Это графическая оболочка Python, которую вы будете использовать на протяжении всей книги.
Рисунок 26 – Установка/удаление: выбор пакета IDLE для Python 3.0
После того, как вы отметите эти два пакета, нажмите кнопку «Применить изменения» («Apply Changes») для продолжения.
Программа управления пакетами попросит подтвердить, что выхотите установить два пакета: «IDLE (using Python-3.0)» и «Python (v3.0)».
Рисунок 27 – Установка/удаление: применение изменений
Нажмите кнопку «Применить» («Apply») для продолжения.
Программа управления пакетами будет показывать индикатор выполнения во время загрузки необходимых пакетов из интернет-репозитория Canonical.
Рисунок 28 – Установка/удаление: индикатор выполнения загрузки
После загрузки пакетов программа управления пакетами автоматически начнёт устанавливать их.
Рисунок 29 – Установка/удаление: индикатор выполнения установки
Если всё прошло хорошо, программа управления пакетами подтвердит, что оба пакета были успешно установлены. Отсюда вы можете запустить оболочку Python, дважды кликнув по пункту «IDLE», или, нажав кнопку «Закрыть» («Close»), выйти из программы управления пакетами.
Рисунок 30 – Установка/удаление: новые приложения установлены
Вы всегда сможете запустить оболочку Python, из меню «Приложения» («Applications»), подменю «Программирование» («Programming»), выбрав пункт «IDLE».
Рисунок 31 – Графическая интерактивная оболочка Python для Linux
Оболочка Python – это то место, где вы проведёте бо́льшую часть времени, изучая Python. Во всех примерах в этой книге предполагается, что знаете, как найти оболочку Python.
Перейти к .
Как скомпилировать Python код в .exe | практикум
Для начала, нам нужно установить pyinstaller с помощью pip. Пишем команду в командной строке:
pip install pyinstaller
Если вы используете Linux и у вас не установлен pip, то просто напишите команду:
apt-get install python-pip
На Windows, если вы не изменяли конфигурации установки Python, проблемы отсутствия pip у вас возникнуть не должно.
Вторым шагом будет переход в директорию с нашим проектом. Просто копируем путь и с помощью команды cd (наш путь) переходим в директорию, для Linux и Windows команда одинаковая.
Теперь давайте скомпилируем наш Python код в .exe, не будем тянуть.
Сделаем мы это с помощью установленного пакета pyinstaller.
Пишем команду:
pyinstaller -F -w -i( to set up icon on your .exe) main.py
Давайте разберем каждый флаг, они не обязательно все вам понадобятся.
- -F – этот флаг отвечает за то, чтобы в созданной папке dist, в которой и будет храниться наш исполняемый файл не было очень много лишних файлов, модулей и т.п.
- -w – этот флаг вам понадобится в том случае, если приложение использует tkinekt, оно блокирует создание консольного окна, если же ваше приложение консольное, вам этот флаг использовать не нужно.
- -i – этот флаг отвечает за установку иконки на наш исполняемый файл, после флага нужно указать полный путь к иконке с указанием её имени. Например: D:\LayOut\icon.ico
Вот и всё, сегодня мы рассмотрели, как скомпилировать Python код в .exe, Если у вас остались какие-либо вопросы, пишите их в комментарии, с удовольствием отвечу.
Так же подписывайтесь на обновления сайта, тут будет ещё много интересного!
Удачи в жизни и до встречи!
2.1.1. История создания¶
Разработка языка Python была начата в конце 1980-х годов сотрудником голландского института CWI (Центр математики и информатики, голл. Centrum Wiskunde & Informatica) Гвидо ван Россумом (англ. Guido van Rossum), на основе языка ABC (Рисунок 2.1.1). В феврале 1991 года Гвидо опубликовал исходный текст в группе новостей alt.sources.
Рисунок 2.1.1 — Гвидо ван Россум на конференции в 2006 г.
О создании Python Гвидо ван Россум написал в 1996 г.:
В настоящее время Гвидо работает в компании Dropbox, покинув в декабре 2012 года корпорацию Google (2005-2012). Имея статус «великодушного пожизненного диктатора» проекта — он продолжает наблюдать за процессом разработки Python, принимая окончательные решения, когда это необходимо (не менее 50% рабочего времени по договоренности с DropBox).
Появившись сравнительно поздно, Python создавался под влиянием множества языков программирования. Так, например, влияние оказали такие языки, как:
-
ABC: отступы для группировки операторов, высокоуровневые структуры данных;
-
Modula-3: пакеты, модули;
-
С, C++: некоторые синтаксические конструкции;
-
Smalltalk: ООП;
-
Java: обработка исключений и др.
Большая часть других особенностей Python (например, байт-компиляция исходного кода) также была реализована ранее в других языках.
Развитие языка происходит согласно четко регламентированному процессу создания, обсуждения, отбора и реализации документов (Python Enhancement Proposal) — предложений по развитию Python.
В 2008 году, после длительного тестирования, вышла первая версия Python 3000 (или Python 3.0, также используется сокращение Py3k). В Python 3000 устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python. На сегодня поддерживаются обе ветви развития (Python 3.x и 2.x) (сравнение и рекомендации), однако получать новый функционал будет только версия 3 .
Ключевые вехи развития языка приведены в Таблице 2.1.1.
Ветвь (дата выхода) |
Актуальная версия (дата выхода) (могла устареть) |
---|---|
Python 0.9.0 (1991-02) |
— |
Python 0.9.0 (1991-02) |
— |
Python 2.x (2000-10-16) |
Python 2.7.11 (2015-12-05) |
Python 3.x (2008-12-03) |
Python 3.4.5 (2016-06-27) |
Python 3.5.2 (2016-06-27) |
|
Python 3.6.1 (2017-03-21) |
На Видео 2.1.1 и 2.1.2 автор языка рассказывает об истории создания и развития Python (англ.).
Видео 2.1.1 — Guido van Rossum: The Early Years of Python
2.2 Определение языка программирования
Поскольку пишется компилятор для нашего конкретного языка программирования,
то следует начать с определения этого языка, записав для него набор грамматических
правил. Например, если предполагается введение в язык конструкции ‘if-then-else-endif’,
то правило достаточно просто можно записать так:
if_statement : IF LPAREN statement RPAREN multiple-statements ELSE multiple-statements ENDIF
где (1) IF, LPAREN, RPAREN, ELSE и ENDIF — лексемы для синтаксических единиц
, , , и
соответственно. (2) ‘statement’ и ‘multiple-statements’ — различные конструкции,
для которых должны быть определены свои правила.
And now for something completely different
trong>ARTHUR (Graham Chapman): Please, good people. I am in haste. Who lives in that castle?
WOMAN: No one lives there.
ARTHUR: Then who is your lord?
WOMAN: We don’t have a lord.
ARTHUR: What?
DENNIS: I told you. We’re an anarcho-syndicalist commune. We take it in turns to act as a sort of executive officer for the week.
ARTHUR: Yes.
DENNIS: But all the decisions of that officer have to be ratified at a special biweekly meeting.
ARTHUR: Yes, I see.
DENNIS: By a simple majority in the case of purely internal affairs,—
ARTHUR: Be quiet!
DENNIS: —but by a two-thirds majority in the case of more—
ARTHUR: Be quiet! I order you to be quiet!
WOMAN: Order, eh — who does he think he is?
ARTHUR: I am your king!
WOMAN: Well, I didn’t vote for you.
ARTHUR: You don’t vote for kings.
WOMAN: Well, ‘ow did you become king then?
ARTHUR: The Lady of the Lake, her arm clad in the purest shimmering samite, held aloft Excalibur from the bosom of the water signifying by Divine Providence that I, Arthur, was to carry Excalibur. That is why I am your king!
DENNIS: Listen — strange women lying in ponds distributing swords is no basis for a system of government. Supreme executive power derives from a mandate from the masses, not from some farcical aquatic ceremony.
Version | Operating System | Description | MD5 Sum | File Size | GPG |
---|---|---|---|---|---|
Gzipped source tarball | Source release | 2f969b647039d5033a6b4a386805b5da | 24150105 | SIG | |
XZ compressed source tarball | Source release | 176bb52bb03eb2b51059022c5f179e09 | 18012048 | SIG | |
macOS 64-bit installer | Mac OS X | for OS X 10.9 and later | 6918febde4a7e323d2c0a9c555455ed5 | 30232779 | SIG |
Windows help file | Windows | c29e1837ec7be22144d1774f7b9063b8 | 8530914 | SIG | |
Windows x86-64 embeddable zip file | Windows | for AMD64/EM64T/x64 | 1bd4d5234503fb029031747726524382 | 8174259 | SIG |
Windows x86-64 executable installer | Windows | for AMD64/EM64T/x64 | c98f36f8c78b4b1ba1eb0bcf693b4eca | 27877184 | SIG |
Windows x86-64 web-based installer | Windows | for AMD64/EM64T/x64 | 55d2098b6bde6585952fb67fb8ebd4fe | 1364112 | SIG |
Windows x86 embeddable zip file | Windows | 6955b01cff172ffff5cd3d8ebd37a6d9 | 7306399 | SIG | |
Windows x86 executable installer | Windows | 65d002fb34c2e85bc4d4daa8e73bb4eb | 26781528 | SIG | |
Windows x86 web-based installer | Windows | 04dd1388715a01c08769257a0e7df6fa | 1328688 | SIG |
Major new features of the 3.8 series, compared to 3.7
- PEP 572, Assignment expressions
- PEP 570, Positional-only arguments
- PEP 587, Python Initialization Configuration (improved embedding)
- PEP 590, Vectorcall: a fast calling protocol for CPython
- PEP 578, Runtime audit hooks
- PEP 574, Pickle protocol 5 with out-of-band data
- Typing-related: PEP 591 (Final qualifier), PEP 586 (Literal types), and PEP 589 (TypedDict)
- Parallel filesystem cache for compiled bytecode
- Debug builds share ABI as release builds
- f-strings support a handy specifier for debugging
- is now legal in blocks
- on Windows, the default event loop is now
- on macOS, the spawn start method is now used by default in
- can now use shared memory segments to avoid pickling costs between processes
- is merged back to CPython
- is now 40% faster
- now uses Protocol 4 by default, improving performance
There are many other interesting changes, please consult the «What’s New» page in the documentation for a full list.
And now for something completely different
trong>Mr Vernon (Eric Idle): Hello, madam. (comes in)
Mrs Long Name (Terry Jones): Ah hello… you must have come about…
Mr Vernon: Finishing the sentences, yes.
Mrs Long Name: Oh… well… perhaps you’d like to…
Mr Vernon: Come through this way, certainly. (they go through into the sitting room) Oh, nice place you’ve got here.
Mrs Long Name: Yes … well … er… we…
Mr Vernon: Like it?
Mrs Long Name: Yes … yes we certainly…
Mr Vernon: Do… Good! Now then, when did you first start…
Mrs Long Name: …finding it difficult to…
Mr Vernon: Finish sentences, yes.
Mrs Long Name: Well it’s not me, it’s my…
Mr Vernon: Husband?
Mrs Long Name: Yes. He…
Mr Vernon: Never lets you finish what you’ve started.
Mrs Long Name: Quite. I’m beginning to feel…
Mr Vernon: That you’ll never finish a sentence again as long as you live.
Mrs Long Name: Exact…
Mr Vernon: ly. It must be awful.
Version | Operating System | Description | MD5 Sum | File Size | GPG |
---|---|---|---|---|---|
Gzipped source tarball | Source release | ad2fff4612992c1b3058aa815d019427 | 24901846 | SIG | |
XZ compressed source tarball | Source release | 0001c61e8dc664f19249c7af05e966f8 | 18443584 | SIG | |
macOS 64-bit installer | Mac OS X | for OS X 10.9 and later | 19a6ff889c8dfa83af7eaa3235a75f59 | 30026722 | SIG |
Windows help file | Windows | d5cb032509efa2142e950fcb67b0f403 | 8758733 | SIG | |
Windows x86-64 embeddable zip file | Windows | for AMD64/EM64T/x64 | 6773f81c723389b83577c1aa27c47844 | 8386898 | SIG |
Windows x86-64 executable installer | Windows | for AMD64/EM64T/x64 | 7f86d52a006ffe1b676797c16af82750 | 28293512 | SIG |
Windows x86-64 web-based installer | Windows | for AMD64/EM64T/x64 | 10293de2cb51f2171a60494dab50e759 | 1364112 | SIG |
Windows x86 embeddable zip file | Windows | e5190043b3646c92dc3ac7aebcded11a | 7579121 | SIG | |
Windows x86 executable installer | Windows | 4a1c4d7f993aa20ded3e4b8be2cc526a | 27231768 | SIG | |
Windows x86 web-based installer | Windows | 538c5c9e7eff65b22244ddc3071694c1 | 1325800 | SIG |
Major new features of the 3.9 series, compared to 3.8
Some of the new major new features and changes in Python 3.9 are:
- PEP 584, Union Operators in
- PEP 585, Type Hinting Generics In Standard Collections
- PEP 593, Flexible function and variable annotations
- PEP 602, Python adopts a stable annual release cadence
- PEP 616, String methods to remove prefixes and suffixes
- PEP 617, New PEG parser for CPython
- BPO 38379, garbage collection does not block on resurrected objects;
- BPO 38692, os.pidfd_open added that allows process management without races and signals;
- BPO 39926, Unicode support updated to version 13.0.0;
- BPO 1635741, when Python is initialized multiple times in the same process, it does not leak memory anymore;
- A number of Python builtins (range, tuple, set, frozenset, list, dict) are now sped up using PEP 590 vectorcall;
- A number of Python modules (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) now use multiphase initialization as defined by PEP 489;
-
A number of standard library modules (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) are now using the stable ABI defined by PEP 384.
-
(Hey, fellow core developer, if a feature you find important is missing from this list, let Łukasz know.)
The next pre-release, the second beta release of Python 3.9, will be 3.9.0b2. It is currently scheduled for 2020-06-08.
Инструмент 2: Статический анализ кода с Mypy
Python — динамически типизированный язык. Это значит, что переменная связывается с типом данных не в момент объявления, а в момент присваивания ей значения. То есть одна и та же переменная может быть и строкой, и целым числом, и каким-либо другим типом в зависимости от последнего присвоенного ей значения.
А вот примеры языков со статической типизацией, где для каждой переменной задан один конкретный тип данных, и в логике кода нужно придерживаться именно его:
Плюсы и минусы динамической типизации
Главное преимущество динамической типизации в том, что вам может быть лень постоянно прописывать типы, и такой язык, как Python, в этом поможет.
Интенсив «Станьте хакером на Python за 3 дня»
16–18 ноября, Онлайн, Беcплатно
tproger.ru
События и курсы на tproger.ru
А вот недостатков больше:
- как правило, вы сталкиваетесь с ошибками на более поздних этапах разработки;
- код работает медленнее, ведь Python постоянно вычисляет типы;
- код становится менее безопасным, так как на входе и выходе функции у одной и той же переменной могут быть разные типы данных;
- читать ваш код становится сложнее, поскольку другой человек не может быть уверен в том, что уже объявленная переменная не изменит свой тип в дальнейшем.
Статическая типизация в Python
В Python нет статической типизации как таковой, но есть аннотации типов, которые проверяются статическими анализаторами с целью контроля типов переменных.
Обратите внимание на Mypy. Это статический анализатор типов для Python, который позволяет находить ошибки несоответствия типов в коде
Mypy выводит ошибку, если при работе с аннотациями типов значение переменной не соответствует присвоенному ей типу.
В результате запуска статического анализатора Mypy в приведённом выше коде вы получите следующую ошибку: . Таким образом Mypy предупреждает, что мы пытаемся присвоить строковое значение переменной с целочисленным типом данных. Это лишь один из примеров использования Mypy. Все функциональные возможности инструмента, более подробно описанные в документации, можно протестировать в песочнице.
Подключаем VS Code
Мы уже рассказывали об этом редакторе кода — он быстрый, бесплатный и есть много плагинов. Чтобы работать с Python-файлами было проще, научим VS Code понимать и запускать их. Для этого нам нужно найти и установить специальный плагин для этого языка. Открываем вкладку Расширения (Extensions) и пишем такое:
В результатах поиска находим Python и нажимаем Install:
Затем то же самое делаем для подсветки синтаксиса: пишем в Расширениях команду ext:py3 и устанавливаем плагин MagicPython. После этого перезапускаем VS Code, открываем наш файл и нажимаем F5. Когда выпадающее окошко спросит, с чем будем работать — выбираем Python. В итоге мы получаем редактор кода с нужной нам подсветкой синтаксиса и результатом работы в том же окне. Красота!
Запускаем и отлаживаем программу на Python в VS Code.
Шаг 3: Собираем Python
Выполнив предварительные условия и получив файл tar, вы можете распаковать исходник в папку
Обратите внимание на то, что следующая команда создаст новую папку Python-3.6.5 под той, в которой вы в данный момент находитесь:. Shell
$ wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
$ tar xvf Python-3.6.5.tgz
$ cd Python-3.6.5
Shell
$ wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
$ tar xvf Python-3.6.5.tgz
$ cd Python-3.6.5
1 |
$wget httpswww.python.orgftppython3.6.5Python-3.6.5.tgz $tar xvf Python-3.6.5.tgz $cdPython-3.6.5 |
Теперь вам нужно запустить инструмент ./configure для подготовке к построению Python:
Shell
$ ./configure —enable-optimizations —with-ensurepip=install
1 | $.configure—enable-optimizations—with-ensurepip=install |
Далее, мы скомпилируем Python при помощи make. Опция –j просто делит компиляцию на параллельные шаги для ускорения компиляции. Даже с параллельным компилированием, этот шаг может занять несколько минут:
Shell
$ make -j 8
1 | $make-j8 |
Далее, вам может понадобиться установить новую версию Python. Используем таргет altinstall, чтобы не перезаписать системную версию Python. Так как вы устанавливаете Python в /usr/bin, вам нужно запустить команду от имени администратора:
Shell
$ sudo make altinstall
1 | $sudo makealtinstall |