0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Команда Poetry 12 декабря сообщила о выходе Poetry 1.0.0. Разработчики благодарят сообщество и подчёркивают вклад активных контрибьюторов в проект. Этот релиз - важный этап развития проекта. В нём представлены новые функции, которые делают работу с проектами Python ещё удобнее.</p>
1
<p>Команда Poetry 12 декабря сообщила о выходе Poetry 1.0.0. Разработчики благодарят сообщество и подчёркивают вклад активных контрибьюторов в проект. Этот релиз - важный этап развития проекта. В нём представлены новые функции, которые делают работу с проектами Python ещё удобнее.</p>
2
<h2>Содержание</h2>
2
<h2>Содержание</h2>
3
<ul><li><a>Новый способ управления окружением Python</a></li>
3
<ul><li><a>Новый способ управления окружением Python</a></li>
4
<li><a>Улучшена поддержка частных индексов</a></li>
4
<li><a>Улучшена поддержка частных индексов</a></li>
5
<li><a>Улучшено управление конфигурациями</a></li>
5
<li><a>Улучшено управление конфигурациями</a></li>
6
<li><a>Улучшена команда add</a></li>
6
<li><a>Улучшена команда add</a></li>
7
<li><a>Улучшенные возможности для публикаций</a></li>
7
<li><a>Улучшенные возможности для публикаций</a></li>
8
<li><a>Что дальше</a></li>
8
<li><a>Что дальше</a></li>
9
</ul><h2>Новый способ управления окружением Python</h2>
9
</ul><h2>Новый способ управления окружением Python</h2>
10
<p>Дефолтное поведение не изменилось: Poetry старается использовать текущую версию Python, чтобы создать для проекта виртуальное окружение. Однако если она несовместима с определёнными в настоящее время требованиями python к файлу pyproject.toml, Poetry попытается найти совместимую версию.</p>
10
<p>Дефолтное поведение не изменилось: Poetry старается использовать текущую версию Python, чтобы создать для проекта виртуальное окружение. Однако если она несовместима с определёнными в настоящее время требованиями python к файлу pyproject.toml, Poetry попытается найти совместимую версию.</p>
11
<p>Более того, теперь есть возможность легко переключаться между версиями Python с помощью команды env use.</p>
11
<p>Более того, теперь есть возможность легко переключаться между версиями Python с помощью команды env use.</p>
12
<p>Версию можно указать так:</p>
12
<p>Версию можно указать так:</p>
13
<p>Или даже так:</p>
13
<p>Или даже так:</p>
14
<p>Чтобы отключить активированную virtualenv, можно воспользоваться системной версией Python для получения поведения по умолчанию.</p>
14
<p>Чтобы отключить активированную virtualenv, можно воспользоваться системной версией Python для получения поведения по умолчанию.</p>
15
<p>Команда poetry env info позволяет получить сведения об активированной virtualenv. В выводе вы увидите примерно такую картину:</p>
15
<p>Команда poetry env info позволяет получить сведения об активированной virtualenv. В выводе вы увидите примерно такую картину:</p>
16
<p>Узнать путь к virtualenv можно с помощью команды poetry env info --path. Команда poetry env list формирует список virtualenv:</p>
16
<p>Узнать путь к virtualenv можно с помощью команды poetry env info --path. Команда poetry env list формирует список virtualenv:</p>
17
<p>Наконец, удалить virtualenv можно с помощью команды env remove.</p>
17
<p>Наконец, удалить virtualenv можно с помощью команды env remove.</p>
18
<h2>Улучшена поддержка частных индексов</h2>
18
<h2>Улучшена поддержка частных индексов</h2>
19
<p>Хотя предыдущие версии Poetry поддерживали частные индексы, до выхода версии 1.0.0 не было удобного способа их контролировать. Теперь можно объявлять источник зависимостей:</p>
19
<p>Хотя предыдущие версии Poetry поддерживали частные индексы, до выхода версии 1.0.0 не было удобного способа их контролировать. Теперь можно объявлять источник зависимостей:</p>
20
<p>Для удобства вы можете объявлять частный индекс вторичным. В этом случае он будет всегда использоваться последним, а PyPl останется предпочтительным.</p>
20
<p>Для удобства вы можете объявлять частный индекс вторичным. В этом случае он будет всегда использоваться последним, а PyPl останется предпочтительным.</p>
21
<p>Также можно отключить PyPl, если объявить частный индекс дефолтным:</p>
21
<p>Также можно отключить PyPl, если объявить частный индекс дефолтным:</p>
22
<h2>Улучшено управление конфигурациями</h2>
22
<h2>Улучшено управление конфигурациями</h2>
23
<h3>Использование переменных окружения</h3>
23
<h3>Использование переменных окружения</h3>
24
<p>Иногда, например, при использовании Poetry с инструментами CI, проще использовать переменные окружения, что позволяет не выполнять команды конфигурации. При объявлении переменных окружения необходимо использовать префикс POETRY_, а имя параметров указывать в верхнем регистре. Точки и тире при этом заменяются андерскорами.</p>
24
<p>Иногда, например, при использовании Poetry с инструментами CI, проще использовать переменные окружения, что позволяет не выполнять команды конфигурации. При объявлении переменных окружения необходимо использовать префикс POETRY_, а имя параметров указывать в верхнем регистре. Точки и тире при этом заменяются андерскорами.</p>
25
<p>Это можно использовать при работе с учётными данными:</p>
25
<p>Это можно использовать при работе с учётными данными:</p>
26
<h3>Локальная конфигурация</h3>
26
<h3>Локальная конфигурация</h3>
27
<p>Poetry 1.0.0 позволяет указывать специфические для проекта настройки с помощью флага --local в команде config.</p>
27
<p>Poetry 1.0.0 позволяет указывать специфические для проекта настройки с помощью флага --local в команде config.</p>
28
<p>Локальные настройки хранятся в файле poetry.toml.</p>
28
<p>Локальные настройки хранятся в файле poetry.toml.</p>
29
<h3>Префикс settings. можно не использовать</h3>
29
<h3>Префикс settings. можно не использовать</h3>
30
<p>Настройки теперь хранятся отдельно, необходимости использовать префикс settings. нет. Если вы уже указали настройки, придётся их изменить.</p>
30
<p>Настройки теперь хранятся отдельно, необходимости использовать префикс settings. нет. Если вы уже указали настройки, придётся их изменить.</p>
31
<h2>Улучшена команда add</h2>
31
<h2>Улучшена команда add</h2>
32
<p>С помощью команды add стало проще добавлять зависимости. Поддерживаются такие форматы:</p>
32
<p>С помощью команды add стало проще добавлять зависимости. Поддерживаются такие форматы:</p>
33
<ul><li>имя: pendulum;</li>
33
<ul><li>имя: pendulum;</li>
34
<li>имя и ограничения: requests@^2.23.0;</li>
34
<li>имя и ограничения: requests@^2.23.0;</li>
35
<li>Git URL: git+<a>https://github.com/sdispater/poetry.git</a>.</li>
35
<li>Git URL: git+<a>https://github.com/sdispater/poetry.git</a>.</li>
36
<li>Git URL с уточнением: git+<a>https://github.com/sdispater/poetry.git#develop</a>;</li>
36
<li>Git URL с уточнением: git+<a>https://github.com/sdispater/poetry.git#develop</a>;</li>
37
<li>путь к файлу: ../my-package/my-package.whl;</li>
37
<li>путь к файлу: ../my-package/my-package.whl;</li>
38
<li>путь к директории: ../my-package/;</li>
38
<li>путь к директории: ../my-package/;</li>
39
<li>URL: https://example.com/packages/my-package-0.1.0.tar.gz.</li>
39
<li>URL: https://example.com/packages/my-package-0.1.0.tar.gz.</li>
40
</ul><p>В ограничениях также можно указывать расширения.</p>
40
</ul><p>В ограничениях также можно указывать расширения.</p>
41
<p>Как следствие, параметры --git и --path были удалены. Если нужно обновить существующие зависимости, можно использовать ограничение latest.</p>
41
<p>Как следствие, параметры --git и --path были удалены. Если нужно обновить существующие зависимости, можно использовать ограничение latest.</p>
42
<h2>Улучшенные возможности для публикаций</h2>
42
<h2>Улучшенные возможности для публикаций</h2>
43
<h3>Поддержка токенов PyPl API</h3>
43
<h3>Поддержка токенов PyPl API</h3>
44
<p>При публикации в PyPl можно использовать<a>токены API</a>вместо учётных данных. Настроить токены можно командой config.</p>
44
<p>При публикации в PyPl можно использовать<a>токены API</a>вместо учётных данных. Настроить токены можно командой config.</p>
45
<h3>Поддержка пользовательских сертификатов и взаимной аутентификации TLS</h3>
45
<h3>Поддержка пользовательских сертификатов и взаимной аутентификации TLS</h3>
46
<p>Poetry 1.0.0 работает с репозиториями, которые защищены пользовательскими сертификатами или требуют аутентификации клиента с помощью сертификата. Ниже примеры настроек репозитория foo для проверки с помощью хранилища сертификата и использования сертификата клиента. Обратите внимание, переменные конфигурации устанавливать не надо.</p>
46
<p>Poetry 1.0.0 работает с репозиториями, которые защищены пользовательскими сертификатами или требуют аутентификации клиента с помощью сертификата. Ниже примеры настроек репозитория foo для проверки с помощью хранилища сертификата и использования сертификата клиента. Обратите внимание, переменные конфигурации устанавливать не надо.</p>
47
<h3>Поддержка произвольных маркеров для условных зависимостей</h3>
47
<h3>Поддержка произвольных маркеров для условных зависимостей</h3>
48
<p>Poetry 1.0.0 поддерживает маркеры окружения через свойство markers.</p>
48
<p>Poetry 1.0.0 поддерживает маркеры окружения через свойство markers.</p>
49
<h2>Что дальше</h2>
49
<h2>Что дальше</h2>
50
<p>Команда Poetry<a>сделала очень много</a>, но планов дальнейшего развития ещё больше. В ближайшее время планируется сделать Poetry расширяемой с помощью плагинов. Это станет шагом к созданию экосистемы вокруг Poetry и к появлению новых важных функций.</p>
50
<p>Команда Poetry<a>сделала очень много</a>, но планов дальнейшего развития ещё больше. В ближайшее время планируется сделать Poetry расширяемой с помощью плагинов. Это станет шагом к созданию экосистемы вокруг Poetry и к появлению новых важных функций.</p>