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
.
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.
.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.
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.
pip --version
car l'environnement Python de Travis CI imprime les versions python et pip dans le journal de construction sans rien faire.pip freeze
n'affiche pas la version de setuptools, alors lancez ʻeasy_install --version`.pip freeze
est exécuté avant pip install
, donc l'ajout de l'option -r
n'a pas de sens.get-pip.py
au lieu de pip install
](http://pip.readthedocs.org/en/latest/installing.html# install-or-upgrade-pip) est censé être.get-pip.py
.get-pip.py
.get-pip.py
. Le corps de pip sera téléchargé ici, alors lancez-le avec travis_retry
.Voir pip Changelog pour les changements de pip.
Si le test réussit, vous avez terminé.
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.