Python学習【365日チャレンジ!】190日目のマスターU(@Udemy11)です。
そろそろタチウオの釣果情報が耳に入ってきたので、早起きして短時間のタチウオ刈りに行ってきました。
だいたい釣れる時間が決まっているので、その時間に釣れなければ釣れないだろうなと思いながら、キャストを繰り返すこと約30分。
そろそろかな?という時間帯に入った頃にようやくアタリがあるも2回ほどヒットせず、3回目のアタリでようやくヒット。
そこからはアタリが無くなって、10分ほど粘ってから終了。1時間足らずの釣行でなんとか1匹ゲットすることができました。
周りにも釣り人が結構いましたが、あまり釣れていなかったので、ちょっとまだ早いのかもしれませんね。
それでは今日もPython学習をはじめましょう!
昨日の復習
昨日は、setuptoolsでpytestのテストを実行する方法を学習しました。
unittestのときとテストファイルは同じで、setup.cfg
を作ってpytestを実行できましたが、setup.py
のコードを少し変更して、setup.cfg
にコードを追加するやり方もありました。
詳細については、昨日の記事をごらんください。
今日は、仮想環境(vertualenv
)を使ってテストを実行してパッケージを作成できるtoxを学習します。
toxのインストール
まずはtoxを下記コマンドでインストールします。
pip install tox
インストールが完了すれば、公式サイトの使い方例を参考にtox.ini
を作成します。
tox.ini
まずは、toxで扱うvirtualenvやテストファイルの設定を書くtox.ini
を作成します。
[tox]
envlist = py37
[testenv]
deps = pytest
commands = pytest -s tests
toxの公式サイトにある【Basic example】を参考にコードを記述しました。
作成するパッケージは昨日までと同じように、対話アプリのJarvisです。
テストファイルはtest_robot.py
で中身も昨日までと同じなので、こちらの記事を参考にしてください。
setup.py
setup.py
は、昨日少し変更したコードを使います。
from setuptools import setup, find_packages
setup(
name='jarvis',
version='1.0.0',
packages=find_packages(),
package_data={'jarvis':['templates/*.txt']},
url='http://udemyfun.com',
license='Free',
author='MasterU',
author_email='master@udemyfun.com',
description='First package',
tests_require=['pytest'],
)
これで準備は完了です。
toxの実行
toxの実行は、ターミナルでtox
と入力して実行するだけです。
コマンドを実行すれば、virtualenvを作成し、必要なライブラリをインストールしてテストを実行し、パッケージにまとめてくれます。
環境を変える
大きなプロジェクトでないかぎり、virturalenvを使ったテストは必要なさそうな感じがしますが、自分のPython環境ではなく、必要なライブラリだけが整っているPython環境でテストをすることは大切です。
自分だけが使うプロジェクトなら問題はありませんが、基本的にクライアントがいるのが普通ですので、Pythonでアプリを開発したいのなら、toxなども使えるようになっておいたほうがいいでしょう。
以前学習したvirtualenvが出てきたので、この機会に復習しておこうと思います。
現在テストをたくさん学習していますが、あまりの多さにびっくりしてしまいますが、Pythonがそれだけしっかりしたプログラムだということだと思うので、気を抜かず、学習を継続していきましょう。
それでは明日もGood Python!