Как добавить переменные среды travis в Tox

В моем проекте используются переменные среды, и я пытаюсь использовать их в файле Tox. В соответствии с https://stackoverflow.com/a/37522926/3782963 я должен установить passenv в tox.ini, но когда Я делаю это, я получаю сообщение об ошибке

Collecting django<1.10,>=1.9
  Using cached Django-1.9.13-py2.py3-none-any.whl
Collecting AUTHY_API
  Could not find a version that satisfies the requirement AUTHY_API (from versions: )
No matching distribution found for AUTHY_API

Похоже, Tox думает, что AUTHY_API — это файл дистрибутива, тогда как на самом деле это переменная среды.

Мои конфигурации:

.travis.yml:

language: python

python:
  - 3.5
  - 3.6

services: postgresql

addons:
  postgresql: "9.4"

before_script:
  - psql -c "CREATE DATABASE mydb;" -U postgres

branches:
  only:
  - master
  - v3

install:
  - pip install tox-travis

script:
  - tox

env:
  - TOXENV=django19
  - TOXENV=django110
  - TOXENV=coverage

notifications:
  email: false

tox.ini:

[tox]
envlist = django19, django110
skipsdist = True

[testenv]
commands = pytest
setenv =
    DJANGO_SETTINGS_MODULE=gollahalli_com.settings
    PYTHONPATH={toxinidir}

[base]
deps =
    -r{toxinidir}/requirements-testing.txt
passenv =
    AUTHY_API
    cloudinary_api
    cloudinary_api_secret
    DEBUG
    SECRET_KEY
    GITHUB_KEY

[testenv:django19]
deps =
    django>=1.9, <1.10
    {[base]deps}
    {[base]passenv}

[testenv:django110]
deps =
    django>=1.10, <1.11
    {[base]deps}
    {[base]passenv}

[testenv:coverage]
commands =
;    coverage run --branch --omit={envdir}/*,test_app/*.py,*/migrations/*.py {envbindir}/manage.py test
    pytest --cov=./
    codecov
deps =
    {[testenv:django110]deps}
    {[base]passenv}

Я не уверен, что здесь не так. Помощь!


person Akshay    schedule 26.06.2017    source источник


Ответы (1)


Вот ошибка:

deps =
    …
    {[base]passenv}

Вы передаете список env vars как зависимости. Переместите passenv в [testenv] и удалите {[base]passenv} из всех сред.

person phd    schedule 26.06.2017