Как обновить setuptools на tox во время сборки travis

Я пытаюсь разработать программу на Python с последней версией setuptools. Но каждый раз, когда моя сборка завершается со следующим сообщением:

$ tox -e $TOX_ENV

GLOB sdist-make: /home/travis/build/kartoch/myapp/setup.py

py26 create: /home/travis/build/kartoch/myapp/.tox/py26

py26 inst: /home/travis/build/kartoch/myapp/.tox/dist/myapp-0.1.0.zip

ERROR: invocation failed, logfile: /home/travis/build/kartoch/myapp/.tox/py26/log/py26-1.log

[...]

Unpacking ./.tox/dist/myap-0.1.0.zip

Running setup.py (path:/tmp/pip-P4VhFx-build/setup.py) egg_info for package from file:///home/travis/build/kartoch/myapp/.tox/dist/myapp-0.1.0.zip

The required version of setuptools (>=5.4.1) is not available,

and can't be installed while this script is running. Please

install a more recent version first, using

'easy_install -U setuptools'.

(Currently using setuptools 3.6 (/home/travis/build/kartoch/myapp/.tox/py26/lib/python2.6/site-packages))

Complete output from command python setup.py egg_info:

Пока проблема в следующем:

  • обновление/переустановка setuptools в travis.yml не имеет никакого эффекта, так как 'virtualenv', сгенерированный tox, имеет предыдущие setuptools
  • нельзя обновить/переустановить setuptools до вызова setup.py по tox (зависимости устанавливаются после этого шага)

Есть идеи ?

Я запускаю свои тесты со следующим '.travis.yml':

language: python
env:
  - TOX_ENV=py26
  - TOX_ENV=py27
install:
  - pip install tox
script: 
  - tox -e $TOX_ENV

Конфигурация tox («tox.ini») следующая:

[tox]
envlist = py26, py27

[testenv]
commands =
    nosetests

[testenv:py26]

[testenv:py27]

person Kartoch    schedule 12.07.2014    source источник
comment
Будет ли здесь полезен pypi.python.org/pypi/tox-travis?   -  person gliptak    schedule 19.11.2015


Ответы (3)


Использовать:

[testenv]
deps =
  setuptools==5.4.1  # Or whatever version you need
commands =
  nosetests
person Thomas Orozco    schedule 12.07.2014

Я смог решить эту проблему, добавив обновленные инструменты настройки в раздел install:

install:
  - pip install -U pip wheel
  - pip install setuptools==24.0.3
  - pip install -r ourapp/requirements/requirements.txt
person shacker    schedule 15.07.2016

В tox.ini:

deps =
    setuptools=38.2.5

Это заблокирует первоначальную установку Python с этой версией в среде tox. Затем avec установит тот, который требуется для яйца.

person encolpe    schedule 20.03.2018