5

我正在尝试使用最新版本的 setuptools 开发一个 python 程序。但是每次我的构建失败时都会显示以下消息:

$ 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:

到目前为止的问题是:

  • 在 travis.yml 中更新/重新安装 setuptools 无效,因为 tox 生成的“virtualenv”具有以前的 setuptools
  • 在 tox 调用 setup.py 之前无法升级/重新安装 setuptools(在此步骤之后安装依赖项)

任何想法 ?

我正在使用以下“.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]
4

3 回答 3

7

利用:

[testenv]
deps =
  setuptools==5.4.1  # Or whatever version you need
commands =
  nosetests
于 2014-07-12T15:55:10.623 回答
5

我可以通过向该部分添加更新的 setuptools 来解决此问题install

install:
  - pip install -U pip wheel
  - pip install setuptools==24.0.3
  - pip install -r ourapp/requirements/requirements.txt
于 2016-07-15T18:22:20.230 回答
1

tox.ini 中

deps =
    setuptools=38.2.5

它将阻止在 tox 环境中使用此版本进行的初始 python 安装。然后 avec 它将安装鸡蛋所需的那个。

于 2018-03-20T07:44:21.533 回答