[PYTHON] Mise à niveau de travis CI pip

Bonne année à tous. J'ai hâte de travailler à nouveau avec vous cette année.

D'ailleurs, le premier jour de 2014, pip 1.5 est sorti.

Cette version comporte quelques modifications incompatibles avec les versions précédentes. Il semble que certaines personnes réagissent à cela depuis le début de la nouvelle année, et merci pour votre travail acharné.

Pour le moment, la version de pip installée dans l'environnement Python Travis CI (https://travis-ci.org/) est 1.4.1, mais la mise à niveau vers 1.5 n'est qu'une question de temps.

La procédure suivante est l'idée qu'il serait plus facile de mettre à niveau d'abord car il sera mis à niveau de toute façon.

Si vous le souhaitez, vous pouvez couper à l'avance la branche fix-requrements de la branche équivalente devel.

1. Ajoutez pip freeze au before_script: ʻentry of .travis.yml`

L'entrée before_script: est l'entrée qui s'exécute juste avant l'entrée script: où le corps de test s'exécute. Ajoutez pip freeze à cette entrée.

yaml:.travis.yml


before_script:
    - "pip freeze"

Si requirements.txt existe, vous pouvez écrire pip freeze -r requirements.txt pour rendre la sortie un peu plus facile à voir.

Cependant, veuillez noter que pip freeze est différent de pip install, et si vous spécifiez plusieurs fichiers avec -r, seul le dernier fichier spécifié sera valide.

3. Validez le fichier .travis.yml modifié pour exécuter le test sur Travis CI.

Le but de ceci est d'enregistrer l'environnement lorsque le test a réussi avec la valeur par défaut pip dans le journal de construction, il est donc fortement recommandé de valider une fois ici.

4. Modifiez l'entrée before_install: dans .travis.yml

before_install: est l'entrée qui est exécutée immédiatement avant l'entrée ʻinstall: qui exécute pip install` etc.

Ajoutez la ligne suivante à cette entrée:

yaml:.travis.yml


before_install:
    - "easy_install --version"
    - "pip freeze"
    - "travis_retry pip install -U setuptools"
    - "cd `mktemp -d`"
    - "travis_retry wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py"
    - "travis_retry python get-pip.py"
    - "cd $OLDPWD"
    - "pip --version"
    - "easy_install --version"

Ce qui suit est une liste à puces.

5. Vérifiez les changements de pip et corrigez si nécessaire

Voir pip Changelog pour les changements de pip.

6. Validez vos modifications et exécutez le test dans Travis CI.

Si le test réussit, vous avez terminé.

finalement

Avec ces modifications, les dernières versions de pip et setuptools (à l'exception de la version de développement) sont toujours appliquées.

Dans le même temps, une liste des versions de modules installées est maintenant incluse dans le journal de construction, ce qui devrait le rendre plus facile que de consulter le journal pip install lorsqu'un test échoue.

En passant, il semble qu'il soit courant de faire before_script:" bundle show " dans les projets Ruby, mais dans les projets Python .travis.yml contient pip freeze et pip list. Je n'ai jamais vu un cas qui l'était. (À propos, 0 cas dans .travis.yml de 106 fichiers dans 3585 modules prenant en charge Python 3.X avec PyPI)

Travis CI semble être un service dont le site est construit sur Ruby, il peut donc être évité par Pythonista.

Recommended Posts

Mise à niveau de travis CI pip
Mise à niveau de pip
[Python] Automatisez les builds Pelican avec Travis CI
Accélérez le CI en ignorant les installations de pip inutiles
Installez CVXOPT, NumPy, SciPy sur Travis CI