Установка модулей в python

2: Установка Chocolatey

Пакетный менеджер – это набор инструментов, с помощью которого система автоматизирует установку, обновление, настройку и удаление программного обеспечения.

Chocolatey – это пакетный менеджер командной строки для Windows, похожий на apt-get в Linux. Существует версия Chocolatey с открытым исходным кодом. Этот менеджер поможет быстро установить приложение или инструмент.

Прежде чем установить сценарий, ознакомьтесь с его содержимым и убедитесь, что он не причинит вреда системе. Используйте среду для выполнения сценариев .NET, чтобы загрузить и открыть сценарий Chocolatey в терминале. Создайте объект $script (вы можете выбрать любое имя для объекта, необходимо только сохранить символ $ в начале), который будет совместно использовать параметры интернет соединений с Internet Explorer.

Просмотрите доступные опции, объединив этот объект и класс Get-Member в один поток, который вернет все компоненты (свойства и методы) объекта WebClient:

В выводе можно найти метод DownloadString, с помощью которого вы сможете просмотреть содержимое и подпись сценария в окне PowerShell. Примените этот метод:

Изучите сценарий, а затем установите Chocolatey:

Командлет iwr (или Invoke-WebRequest) позволяет извлекать данные из сети Интернет. Приведённая выше команда передаст сценарию этот командлет, который выполнит его содержимое и запустит установочный сценарий пакетного менеджера Chocolatey.

После установки Chocolatey вы можете установить дополнительные инструменты с помощью команды choco.

Примечание: Чтобы обновить Chocolatey, используйте:

С помощью пакетного менеджера можно установить все компоненты, необходимые для создания локальной среды разработки Python 3.

Получить путь установки Python без оболочки

Чтобы получить путь установки Python в Windows без использования либо интерпретатора Python, ни командной строки, проверьте реестр Windows, который содержит ключ для каждой установленной версии Python. Обе варианты возможны:

Если у вас есть 64-битная версия Windows, вы можете найти путь Python под ключ:

HKLM \ Software \ Wow6432node \ python \ pythoncore \ versionnumber \ instatePath

Вы можете узнать, как использовать эти варианты в вашем коде на это сообщение. Еще более тщательное обсуждение предусмотрено на официальном Python Wiki здесь Отказ

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

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

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 573, Module State Access from C Extension Methods
  • 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 614, Relaxing Grammar Restrictions On Decorators
  • PEP 615, Support for the IANA Time Zone Database in the Standard Library
  • 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.

You can find a more comprehensive list in this release’s «What’s New» document.

Шаг 3: Добавить Python в переменные среды

Последний (необязательный) шаг в процессе установки – добавить путь Python в переменные среды системы. Этот шаг сделан для доступа к Python через командную строку. Если вы добавили Python в переменные среды при настройке дополнительных параметров во время процедуры установки, вы можете избежать этого шага. Иначе этот шаг делается вручную следующим образом.

В меню «Пуск» ищите «Усовершенствованные настройки системы». Выберите «Просмотр расширенных системных настроек». В окне «Свойства системы» нажмите на вкладку «Дополнительно», а затем нажмите кнопку «Переменные среды».

Найдите каталог установки Python в вашей системе. Если вы следили за шагами, как указано выше, Python будет установлен в местах ниже:

  • C: \ Program Files (x86) \ python37-32: для 32-битной установки
  • C: \ Program Files \ python37-32: для 64-битной установки

Название папки может отличаться от «Python37-32», если вы установили другую версию. Ищите папку, имя которой начинается с Python.

Добавьте следующие записи на переменную пути, как показано ниже:

Шаг 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
2
3

$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

Шаг 2: Запустите исполняемый установщик

  1. Как только установщик загружен, запустите установщик Python.
  2. Проверьте Установите Launcher для всех пользователей флажок. Кроме того, вы можете проверить Добавить Python 3.7 к пути Установите флажок, чтобы включить интерпретатор в пути выполнения.
  3. Выберите Настроить установку Отказ

Выберите дополнительные функции, проверив следующие флажки:

  1. Документация
  2. пипс
  3. TCL/TK и IDLE (для установки TKinter и IDLE)
  4. Python Test Suite (для установки стандартной библиотечной тестовой насуды Python)
  5. Установите Global Launcher для `.py`. Это облегчает начать Python
  6. Установить для всех пользователей.

Нажмите Следующий Отказ

Это приведет вас к Расширенные варианты Доступно при установке Python. Здесь выберите Установить для всех пользователей и Добавить Python в переменные среды флажки.

При желании вы можете выбрать Ассоциированные файлы с Python , Создать ярлыки для установленных приложений и другие продвинутые варианты. Сделайте записку каталога установки Python, отображаемый на этом этапе. Вам понадобится это для следующего шага.

После выбора дополнительных параметров нажмите Установить начать установку.

Как только установка закончится, вы увидите Python Setup Успешно окно.

Step 3 — Installing the Text Editor nano (Optional)

We are now going to install nano, a text editor that uses a command line interface, which we can use to write programs directly within PowerShell. This is not a compulsory step, as you can alternatively use a text editor with a graphical user interface such as Notepad, but nano will get us more accustomed to using PowerShell.

Let’s use Chocolatey to install nano:

Here we used the flag so that we confirm automatically that we want to run the script without being prompted.

Once nano is installed, we will be able to use the command to create new text files and will eventually use it to write our first Python program.

Установка на Linux (из репозитория)

Pyhon входит в состав большинства современных дистрибутивов Linux. Чтобы проверить, какая версия установлена в вашей системе, попробуйте выполнить следующие команды:

Команды две, потому что в вашей системе могут быть установлены одновременно 2 версии — Python 2.x и Python 3.x

Проверка предустановленных версий Python в OS Linux

Если python 3 не установлен, или необходимо обновить старую версию, для разных дистрибутивов Linux это делается по-разному. Для начала необходимо выяснить, какая версия дистрибутива установлена на вашей системе. Команда покажет нужную информацию.

lsb_release показывает информацию о дистрибутиве, флаг «-a» — для отображения подробной информации о дистрибутиве Linux

Теперь вы знаете название и версию своего дистрибутива Linux и можете приступить к установке Python.

Ubuntu

Для установки Python 3.7 на Ubuntu, выполните следующие команды:

Если вы используете старую версию Ubuntu, то пакета python3.7 может не быть в репозитории Universe. Вам нужно получить его из архива PPA (Personal Package Archive). Выполните следующие команды:

Python 3.8 отсутствует в репозитории Ubuntu по умолчанию. Если выполнить команду в консоли можно увидеть предупреждение .

Для установки Python3.8 выполните следующие команды:

Debian

Первый способ, установка Python 3.7 с помощью команды:

Если данный способ не сработал, или отобразилась ошибка , есть второй способ – установка Python из исходников. Этот способ описан ниже.

Cent OS

Установить Python 3.6 можно следующим командами:

Чтобы использовать установленную версию Питона, достаточно выполнить команду:

Команда scl вызывает скрипт который меняет переменные окружения shell.

Обратите внимание – если вы выйдете из сеанса или откроете новый в терминале, версия по умолчанию будет 2.7.x., и команду нужно будет выполнять заново. Для установки более свежей версии Python (например 3.8) воспользуйтесь установкой из исходников, описанной ниже

Для установки более свежей версии Python (например 3.8) воспользуйтесь установкой из исходников, описанной ниже.

У вас есть доступ к Shell Python?

Чтобы получить путь установки в читаемый человеком формате, запустите следующие две строки в вашу оболочку Python:

  1. Импорт и Библиотеки с командой: Импорт ОС, SYS
  2. Распечатайте путь к оболочке, используя команду: Печать (OS.Path.dirname (sys.Executable))

Это показано в следующем фрагменте кода:

import os, sys
print(os.path.dirname(sys.executable))

Выход на моем компьютере является следующий путь установки:

'C:\Users\xcent\AppData\Local\Programs\Python\Python39'

Вы можете скопировать его в буфер обмена и использовать его, где вам это нужно.

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

Вы можете увидеть вывод в корпусе Python на моем компьютере:

import sys
print(sys.executable)
'C:\\Users\\xcent\\AppData\\Local\\Programs\\Python\\Python39\\pythonw.exe'

Подсистема Windows для Linux (WSL)

Если вы используете Windows 10 Creators или Anniversary Update, существует другой способ установки Python. Эти версии Windows 10 включают в себя функцию под названием Windows Subsystem for Linux, которая позволяет вам запустить среду Linux прямо в Windows без изменений и без дополнительных нагрузок в виртуальном компьютере.

  • Для дополнительной информации, вы можете ознакомиться с документацией подсистемы Windows для Linux на сайте Microsoft;
  • Для инструкций по подключению подсистемы в Windows 10 и установки дистрибутива Linux, вы можете ознакомиться с руководством Windows 10;
  • Также, вы можете посмотреть презентацию Сары Кули на YouTube, одной из участников команды разработчиков WSL.

После установки подходящего дистрибутива Linux, вы можете установить Python 3 в консольном окне Bash, как если бы вы запускали дистрибутив Linux напрямую (смотреть ниже).

TensorFlow

Теперь мы начинаем устанавливать версию GPU tenorflow и для этого сначала активируем нашу вновь созданную среду. Просто введите:

conda activate TensorFlow-GPU

Далее мы устанавливаем TensorFlow (последняя версия):

pip install tensorflow-gpu

Версия pip официально поддерживается, в то время как версия conda поддерживается сообществом. Google рекомендует установить версию pip.

TensorFlow версии 1.13 и более поздние поставляются с предварительно установленной Keras и встроенной в TensorFlow, что позволяет пользователям устанавливать отдельный пакет Keras.

Теперь, чтобы протестировать среду, вызовите команду:

python

Затем введите:

>>import tensorflow as tf

Если это результат, вы получите:

>>import tensorflow as tf>>

Тогда это означает, что установка прошла успешно. Теперь перейдем к IDE. Вы можете закрыть подсказку.

Python IDE / текстовый редактор

Оба следующих варианта отлично подходят для отладки, обработки и интеллектуального автозаполнения кода Python с молниеносной скоростью и точностью.

  1. Visual Studio Codeустановлен с этиминеобходиморасширения,
  2. PyCharm: Python IDE для профессиональных разработчиков,

С этим вы готовы начать свое путешествие в машинное обучение и не только.

2.1.10. Присваивания¶

Пока мы умеем записывать в переменные только то, что пользователь ввел с
клавиатуры. На самом деле, намного чаще приходится записывать в
переменные значения, которые программа сама вычисляет. Для этого есть
специальная команда, которая называется присваивание (и на самом деле
мы ее уже видели):

a = 10

обозначает «в переменную записать 10».

Справа от знака «равно» можно писать любые выражения (например,
). Более того, там же можно использовать другие
переменные, в которые уже что-то записано. Например, программа

a = 20
b = a + 10
print(b)

выведет на экран 30, потому что сначала в записывается 20, потом
компьютер смотрит, что записано в , прибавляет 10, и результат
записывает в , потом смотрит, что записано в , и выводит на
экран.

Если в переменной уже было что-то записано, то после присваивания старое
значение затирается:

a = 20
a = 30

в результате в лежит 30, а про 20 все забыли.

Особый интересный вариант — справа можно упоминать ту же переменную,
которая стоит слева — тогда будет использоваться ее предыдущее значение:

a = 20
a = a + 10

обозначает «в запиши 20. Потом посмотри, что записано в ,
прибавь к этому 10 и то, что получится, запиши обратно в ». В
итоге в будет записано 30.

Та команда , которую мы раньше видели, на самом деле тоже
является присваиванием: она говорит: «прочитай то, что пользователь ввел
с клавиатуры, и запиши это в ».

Слева от знака «равно» можно указывать несколько переменных через
запятую. Тогда справа тоже должно быть несколько значений через запятую
(или специальные функции типа уже упоминавшейся , но их мы
подробнее пока обсуждать не будем):

a, b = 10, 20

обозначает «в записать 10, а в — 20».

Запись читается «переменной присвоить 10», или кратко « присвоить 10».
Не надо говорить « равно 10», т.к. «равно» — это не глагол, и не понятно,
какое действие совершается. Более того, если запись
прочитать с «равно», то получается « равно плюс один», что
никак не похоже на команду, а скорее на уравнение, которое не имеет
решений. Поэтому говорите «присвоить», а не «равно».

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 573, Module State Access from C Extension Methods
  • 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 614, Relaxing Grammar Restrictions On Decorators
  • PEP 615, Support for the IANA Time Zone Database in the Standard Library
  • 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.

You can find a more comprehensive list in this release’s «What’s New» document.

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.

Ликбез по Python

Python — это один из не узконаправленных языков программирования. В основном его используют, когда необходимо в краткие сроки написать большие объёмы удобочитаемого кода. Python существует с 1991 года и изначально был разработан из-за необходимости использовать скриптовый язык. Основой для создания послужили следующие языки программирования: ABC, Modula-3, C/C++, Smalltalk, Lisp другие. Сейчас Python — это достаточно популярный и востребованный язык, с помощью которого возможно реализовывать различные задачи. В качестве концепта работы был выбран объектно-ориентированный принцип. По рейтингу коммерческого использования Питон занимает пятое место.

Рекомендуем!InstallPack Стандартный установщик
Официальный дистрибутив Python
Тихая установка без диалоговых окон
Рекомендации по установке необходимых программ
Пакетная установка нескольких программ

Установка python 3 на Windows

Скачайте и запустите установщик Python 3, он называется “python-3.****.exe”.

На первом экране отметьте пункт “Add Python 3.7 to PATH” и нажмите “Install Now”.После установки появится возможность отключить ограничение длины . В системах Linux этих ограничений нет. Проигнорировав этот пункт, вы можете столкнуться с проблемой совместимости в будущем. Код созданный на Linux не запустится на Windows.Советуем отключить эту опцию. Если вы точно уверены, что не столкнетесь с проблемой совместимости, нажмите “Close”

Как проверить уставился ли python

Самый быстрый и простой способ узнать, есть ли интерпретатор python на компьютере — через командную строку.

  1. Запустите через диспетчер задач или поиск.
  2. Введите В результате командная строка выведет версию python, которая установлена в системе.

Если версия python 2 или вы получили ошибку:

Следуйте инструкциям ниже. Это легко исправить.

Устанавливаем на Mac

В современных версиях Mac как Python, так и PIP уже установлены. Однако со временем они устаревают, что нехорошо, поэтому лучше следить за тем, чтобы на вашем компьютере были актуальные версии. Но если вы хотите работать с той версией Python, которая есть, и желаете инсталлировать последнюю версию системы, сделать это можно простой командой, запустив в терминале следующее:

sudo easy_install pip

Для установки более новых версий языка программирования Python вам пригодится Homebrew. С его помощью Пайтон устанавливается тоже очень просто (предполагается, что утилита командной строки Homebrew уже установлена):

brew install python

По итогу получите последнюю версию Python, в которую, кстати говоря, система «пип» уже может входить. Но если же пакет будет недоступен, выполните перелинковку:

brew unlink python && brew link python

And Now for Something Completely Different

trong>Interviewer (John Cleese): You know I really enjoy interviewing applicants for this management training course. (knock at door) Come in. (Stig enters) Ah. Come and sit down.
Stig (Graham Chapman): Thank you. (he sits)
Interviewer: (stares at him and starts writing) Would you mind just standing up again for one moment. (Stig stands up) Take a seat.
Stig: I’m sorry?
Interviewer: Take a seat. (Stig does so) Ah! (writes again) Good morning.
Stig: Good morning.
Interviewer: (writes) Tell me why did you say ‘good morning’ when you know perfectly well that it’s afternoon?
Stig: Well, well, you said ‘good morning’. Ha, ha.
Interviewer: (shakes head) Good afternoon.
Stig: Ah, good afternoon.
Interviewer: Oh dear. (writes again) Good evening.
Stig: …Goodbye?
Interviewer: Ha, ha. No. (rings small hand-bell) … Aren’t you going to ask me why I rang the bell? (rings bell again)
Stig: Er why did you ring the bell?
Interviewer: Why do you think I rang the bell? (shouts) Five, four, three, two, one, ZERO!
Stig: Well, I, I…
Interviewer: Too late! (singing) Goodniiight, ding-ding-ding-ding-ding.

Version Operating System Description MD5 Sum File Size GPG
Gzipped source tarball Source release 798b9d3e866e1906f6e32203c4c560fa 25640094 SIG
XZ compressed source tarball Source release ecc29a7688f86e550d29dba2ee66cf80 19051972 SIG
macOS 64-bit Intel installer macOS for macOS 10.9 and later d714923985e0303b9e9b037e5f7af815 29950653 SIG
macOS 64-bit universal2 installer macOS for macOS 10.9 and later, including macOS 11 Big Sur on Apple Silicon (experimental) 93a29856f5863d1b9c1a45c8823e034d 38033506 SIG
Windows embeddable package (32-bit) Windows 5b9693f74979e86a9d463cf73bf0c2ab 7599619 SIG
Windows embeddable package (64-bit) Windows 89980d3e54160c10554b01f2b9f0a03b 8448277 SIG
Windows help file Windows 91482c82390caa62accfdacbcaabf618 6501645 SIG
Windows installer (32-bit) Windows 90987973d91d4e2cddb86c4e0a54ba7e 24931328 SIG
Windows installer (64-bit) Windows Recommended ac25cf79f710bf31601ed067ccd07deb 26037888 SIG

Установка Python 3.6 на Ubuntu

В зависимости от версии Ubuntu, с которым вы работаете, варьируются и инструкции по установке Python. Вы можете определить вашу локальную версию Ubuntu, выполнив следующую команду:

Shell

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.4 LTS
Release: 16.04
Codename: xenial

1
2
3
4
5
6

$lsb_release-a

No LSB modules are available.

Distributor IDUbuntu

DescriptionUbuntu16.04.4LTS

Release16.04

Codenamexenial

Следуйте следующим инструкциям в зависимости от номера версии, который виден под надписью Release в выдаче консоли:

Ubuntu 17.10, Ubuntu 18.04 предоставляет Python 3.6 по умолчанию. Вы можете вызвать его по команде python3.

Ubuntu 16.10 и Ubuntu 17.04 не предоставляют Python 3.6 по умолчанию, однако он доступен в репозитории Universe. Вы можете установить его, выполнив следующие команды:

Shell

$ sudo apt-get update
$ sudo apt-get install python3.6

1
2

$sudo apt-getupdate

$sudo apt-getinstall python3.6

Вы можете вызвать его по команде python3.6.

Если вы используете Ubuntu 14.04 или Ubuntu 16.04, Python 3.6 не будет находиться в репозитории Universe, так что вам нужно получить его из архива Personal Package Archive (PPA). Например, для установки Python из PPA, выполните следующую команду:

Shell

$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt-get update
$ sudo apt-get install python3.6

1
2
3

$sudo add-apt-repository ppadeadsnakesppa

$sudo apt-getupdate

$sudo apt-getinstall python3.6

Как и ранее, его можно вызвать при помощи команды python3.6.

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.

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 573, Module State Access from C Extension Methods
  • 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 614, Relaxing Grammar Restrictions On Decorators
  • PEP 615, Support for the IANA Time Zone Database in the Standard Library
  • 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.

You can find a more comprehensive list in this release’s «What’s New» document.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector