python - 如何在 travis 构建期间更新 tox 上的设置工具

标签 python build setuptools travis-ci tox

我正在尝试使用最新版本的 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]

最佳答案

使用:

[testenv]
deps =
  setuptools==5.4.1  # Or whatever version you need
commands =
  nosetests

关于python - 如何在 travis 构建期间更新 tox 上的设置工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24714507/

相关文章:

具有可执行依赖项的 Python C 扩展

python - 有没有支持 CSS/样式表的 wxPython 的可视库替代品?

python - 服务器端渲染如何与 Heroku 上的非 Node.js 后端一起工作?

python - 为什么在与字符串共享 ctypes.Structure 与仅使用字符串时,子进程(python 多处理)的内存使用量如此不同?

Python - 从子类方法访问父属性很奇怪

python - 如何使用 setuptools 指定 python 版本?

java - 有没有办法强制 Eclipse 在每次运行时自动清理?

ant - ANTLR 项目的 build.xml 示例?

node.js - 仅使用 gulp 或 webpack 构建此 Node 项目

python - 如何使用 setuptools *安装*额外的包数据?