いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

Pythonメモ-104 (GithubでTravis-CIを設定)(Python 3.7を使用, pipでwxPythonをインストール)

概要

すぐ忘れてしまいそうなので、自分用にメモ。

自分用のサンプルリポジトリに Travis-CI を導入しようとしていろいろハマったので。。。

Travis CI のサインアップ

travis-ci.com

なにはともあれ、サインアップしておかないと使えない。github アカウントで サインアップできます。

ログインしたら、対象となるリポジトリにフックを設定してもらいます。

追記:どうも最近は travis-ci.comの方でpublicもprivateも管理出来るようになってるみたいですね。私は travis-ci.org です。。

blog.travis-ci.com

travis-ci.comtravis-ci.org の違いについてはここを参考にしました。

devops.stackexchange.com

travisの設定ファイル作る

YAML形式で、.travis.yml というファイルを作ります。

今回対象とするリポジトリは python 3.7 を対象なので、ここでちょっと注意が必要です。

そのまま

language: python
python:
  - "3.7"

ってすると、エラーになります。python 3.7 の環境でやりたい場合は

dist: xenial
language: python
python:
  - "3.7"

ってしないといけない。

最終的に .travis.yml は私の場合以下のようにしました。

# ------------------------------------------------------
# Travis-CI Setting file.
#
# REFENRECES:: http://bit.ly/2Hs0r1H
# ------------------------------------------------------
dist: xenial
language: python
python:
  - "3.7"
install:
  - pip install -r requirements_travis.txt
script:
  - pytest

wxPython が pip で入らない。。

んで、無事環境できたーってなって、プルリクとかを上げてみて、様子を見ているとエラーになってました・・・。

原因は、wxPython がちゃんと pip で入ってくれてなくてエラーになっている。

情報を集めてみると、どうも

wxPython の サイトに 各ディストリ用に ビルド済みバイナリ があるのでそれを指定したら入る

ってところにたどり着きました。

以下にあります。

extras.wxpython.org

この下に GTK のバージョン毎のディストリ毎にディレクトリがあります。

で、travis 用の requirements ファイルをこうしました。

#########################################
# try-python requirements file (CI Environment)
# https://pip.pypa.io/en/stable/reference/pip_install/#example-requirements-file
#########################################
#---------------------------------------
# Runtime
#---------------------------------------
-r requirements.txt

#---------------------------------------
# Extra links
#---------------------------------------
-f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-16.04/

#---------------------------------------
# Travis-CI
#---------------------------------------
wxPython; sys_platform == 'linux'
pytest

.travis.ymlxenial を指定しているので、バージョンは 16.04 で。

最初に読み込んでいる、requirements.txt の方に wxPython の行はあるのですが

wxpython; sys_platform != 'linux'

って形で一旦無効化しておいて、travis用のrequirements側でリンク設定と install 行を設定。

なんか、これでうまくいったので、とりあえず私の環境ではオッケイ。

今回の設定は、以下のリポジトリで行いました。

github.com


過去の記事については、以下のページからご参照下さい。

  • いろいろ備忘録日記まとめ

devlights.github.io

サンプルコードは、以下の場所で公開しています。

  • いろいろ備忘録日記サンプルソース置き場

github.com

github.com