2017-06-26 1 views
0

Mon projet utilise des variables d'environnement et j'essaie de les utiliser dans le Tox. Selon https://stackoverflow.com/a/37522926/3782963 je dois mettre passenv dans le tox.ini, mais quand je fais que, je reçois une erreurComment ajouter des variables d'environnement travis à Tox

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 

On dirait que le Tox pense que AUTHY_API est un fichier de distribution alors qu'il est en fait une variable d'environnement .

Mes configurations sont:

.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} 

Je ne sais pas ce qui ne va pas ici. Aidez-moi!

Répondre

0

Voici le bug:

deps = 
    … 
    {[base]passenv} 

Vous passez la liste d'env vars comme dépendances. Déplacez passenv vers [testenv] et supprimez {[base]passenv} de tous les environnements.

+0

Merci qui a fonctionné. – Akshay