[PYTHON] Aktualisieren Sie Travis CI Pip

Allen ein frohes neues Jahr. Ich freue mich darauf, dieses Jahr wieder mit Ihnen zusammenzuarbeiten.

Übrigens wurde am ersten Tag des Jahres 2014 pip 1.5 veröffentlicht.

Diese Version enthält einige Änderungen, die nicht mit früheren Versionen kompatibel sind. Es scheint, dass einige Leute seit Beginn des neuen Jahres darauf reagiert haben und danken Ihnen für Ihre harte Arbeit.

Derzeit ist die in der Python-Umgebung von Travis CI (https://travis-ci.org/) installierte Version von pip 1.4.1, ein Upgrade auf 1.5 ist jedoch nur eine Frage der Zeit.

Das folgende Verfahren ist die Idee, dass es einfacher wäre, zuerst ein Upgrade durchzuführen, da es sowieso aktualisiert wird.

Wenn Sie möchten, können Sie den Zweig "Fix-Requrements" vorab aus dem Zweig "Devel" entfernen.

1. Fügen Sie pip freeze zum before_script hinzu: entry of .travis.yml

Der Eintrag "before_script:" ist der Eintrag, der unmittelbar vor dem Eintrag "script:" ausgeführt wird, in dem der Testkörper ausgeführt wird. Fügen Sie diesem Eintrag pip freeze hinzu.

yaml:.travis.yml


before_script:
    - "pip freeze"

Wenn require.txt existiert, können Sie pip freeze -r require.txt schreiben, um die Ausgabe ein wenig übersichtlicher zu gestalten.

Beachten Sie jedoch, dass sich "pip freeze" von "pip install" unterscheidet. Wenn Sie mehrere Dateien mit "-r" angeben, ist nur die zuletzt angegebene Datei gültig.

3. Übernehmen Sie die bearbeitete Datei ".travis.yml", um den Test auf Travis CI auszuführen.

Der Zweck hierbei besteht darin, die Umgebung aufzuzeichnen, wenn der Test mit dem Standard-Pip im Build-Protokoll bestanden wurde. Es wird daher dringend empfohlen, hier einmal ein Commit durchzuführen.

4. Bearbeiten Sie den Eintrag before_install: in .travis.yml

before_install: ist der Eintrag, der unmittelbar vor dem Eintrag install: ausgeführt wird, der pip install usw. ausführt.

Fügen Sie diesem Eintrag die folgende Zeile hinzu:

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"

Das Folgende ist eine Liste mit Aufzählungszeichen.

5. Rohrwechsel prüfen und ggf. beheben

Siehe pip Changelog für Änderungen an pip.

6. Übernehmen Sie Ihre Änderungen und führen Sie den Test in Travis CI aus.

Wenn der Test erfolgreich bestanden wurde, sind Sie fertig.

Schließlich

Mit diesen Änderungen werden immer die neuesten Versionen von pip und setuptools (mit Ausnahme der Entwicklungsversion) angewendet.

Gleichzeitig ist jetzt eine Liste der installierten Modulversionen im Erstellungsprotokoll enthalten, was es einfacher machen sollte, als das Protokoll "pip install" zu lesen, wenn ein Test fehlschlägt.

Abgesehen davon scheint es üblich zu sein, "before_script:" bundle show "in Ruby-Projekten auszuführen, aber in Python-Projekten enthält" .travis.yml "" pip freeze "und" pip list ". Ich habe noch nie einen Fall gesehen. (Übrigens 0 Fälle in .travis.yml von 106 Dateien in 3585 Modulen, die Python 3.X mit PyPI unterstützen)

Travis CI scheint ein Dienst zu sein, dessen Site auf Ruby basiert, daher wird er möglicherweise von Pythonista gemieden.

Recommended Posts

Aktualisieren Sie Travis CI Pip
Upgrade von pip
[Python] Automatisieren Sie Pelican Builds mit Travis CI
Beschleunigen Sie CI, indem Sie unnötige Pip-Installationen überspringen
Installieren Sie CVXOPT, NumPy, SciPy auf Travis CI