Можно Ли Установить Минимальную Версию Python В Pygradle?

  • Автор темы Qscwd
  • Обновлено
  • 19, Oct 2024
  • #1

Пиградл используется для создания проекта Python.

Проблема

Проблема в том, что CI использует другую версию Python, что приводит к разным результатам сборки, например. сборка прошла успешно на ноутбуке, но не удалась на CI.

КИ

 
 ============================= test session starts ==============================
platform linux2 -- Python 2.7.5, pytest-2.9.1, py-1.4.29, pluggy-0.3.1
rootdir: /home/user/dev/project, inifile: 
plugins: cov-2.2.1
collected 1 items
 

Ноутбук

============================= test session starts ============================== platform linux -- Python 3.6.3, pytest-2.9.1, py-1.4.29, pluggy-0.3.1 rootdir: /home/travis/build/user/project, inifile: plugins: cov-2.2.1 collected 1 items

Обсуждение

Чтобы гарантировать, что сборка не удастся как локально на CI, так и на ноутбуке, следует использовать одну и ту же версию Python.

Вопрос

Можно ли установить минимальную версию Python в Pygradle?

#pygradle

Qscwd


Рег
31 Mar, 2017

Тем
61

Постов
193

Баллов
528
  • 25, Oct 2024
  • #2

Примечание: лично мне не нравится использовать минимум версия: никогда не знаешь заранее, как будет развиваться язык и будет ли определенная будущая версия по-прежнему совместима с вашим кодом. Например, многие скрипты, совместимые с версией 2.7, на самом деле не могут работать с Python 3.X, установка версии 2.7 в качестве минимальной версии не поможет.

Я предпочитаю явно перечислять как разрешенные (существующие) версии, совместимость которых я могу протестировать и подтвердить. Любую будущую версию можно добавить позже, после получения такого подтверждения.

Если вы согласны с вышеизложенным, то

 
 pythonDetails.setPythonDefaultVersions('2.7', '3.6', ['2.7', '3.5', '3.6'])
 
плагин, очевидно, может выполнять такие проверки версий (похоже, что он не поддерживает минимум версия):

Стандартная и разрешенная версия Python

Этот плагин обеспечивает набор стандартных и разрешенных версий Python. Для PythonDetails and you will get whatever the default Python 3 version is. Similarly PythonExtension.getDetails()

например, вы можете указать

PythonDetails

дает вам любую версию Python 2 по умолчанию. pythonVersion setting to one of the allowed values.

Этот плагин также обеспечивает набор разрешенных версий Python. Если ты Python 3.2 not allowed; choose from [2.6, 2.7, 3.4, 3.5, 3.6] object, either the one returned by pythonVersion = '2' pythonVersion = '3' instance you create, e.g. in Groovy:

com.linkedin.python

выберите версию Python, которая не разрешена, вы увидите ошибку

 

Co229664


Рег
18 Dec, 2013

Тем
65

Постов
184

Баллов
519
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно