タグ

2015年11月6日のブックマーク (5件)

  • Using tox with Django projects | David Murphy

    Today I was adding tox and Travis-CI support to a Django project, and I ran into a problem: our project doesn’t have a setup.py. Of course I could have added one, but since by convention we don’t package our Django projects (Django applications are a different story) – instead we use virtualenv and pip requirements files – I wanted to see if I could make tox work without changing our project. Turn

    Using tox with Django projects | David Murphy
  • PythonでWebAppの開発に必要なN個のこと

    元ネタ あるプログラミング言語で実際にWebAppを開発できるようになるまで、何が必要だろうか。言語仕様の習得は終えているとしよう。おそらく、最低限以下のような知識が必要だと思われる。とりあえずPythonについて知っていることを書いた。 パッケージマネージャ まずライブラリの管理。モジュールをインストールし、可能であればバージョンを固定し、適切にロードする機能が必要だ。 Pythonの場合は pip というPyPIクライアントでライブラリをインストールする。ライブラリパスの設定は virtualenv で行う。 アプリケーションサーバー Webサーバへのインターフェイスとしては、WSGIという仕様がある。WSGIに準拠したツールキットとしてWebObやWerkzuegなどがあり、サーバーには標準ライブラリのwsgirefやwaitress、gunicornなどがある。 番環境ではgun

  • Django + py.test + WebTest

    以前書いたDjango Best Practice への道 #2の補足を書きます。 以下の課題を解決するために実施したこととなります。 Django Webアプリの機能テストはpy.testとWebTestを同時に使いたいけどunittest形式は嫌 分解していきます。 Djangoのテストにpy.testを使う 以下のライブラリを利用する。 (なぜpy.testを選択したかはコチラ) pelme/pytest_django とにかくparameterizedテストで同一処理 x 別データパターンのテストを効率よく書きたかったので、py.testを選択。また、fixtureという仕組みを使い、テストデータやモックを効率よく各テストに注入できるのも嬉しいところ。 DjangoのテストにWebTestを使う 以下のライブラリを利用する。 kmike/django-webtest これを利用する

  • pipとwheelでテスト環境構築をスピードアップ

    まず最初にお知らせ。 travisでtoxをつかうtips で、travisにpython3.4をインストールして、toxの環境振り分けをするってのを書きましたが、すでにtravisでpython3.4使えるようなので、事前のapt-getは不要となりました。 そして、 ubuntus 14.04 trusty では python3.4がデフォルトでインストールされているようですが、 ensure-pip が入っていないという罠により pyvenv するとエラーになります。 とりあえず debian系の python パッケージは変なパッチあたってるのも、そろそろいい加減にしてほしいところなので、もうしばらくはpython3.4はソースインストールでやっていくことにします。 ここから題。 travis や drone.io などでciを動かしている場合、テストごとに環境を作成しているわけ

    BigFatCat
    BigFatCat 2015/11/06
    dev-requires.txtを用意して、"pip install -r dev-requires.txt"
  • travisでtoxをつかうtips

    さて、python3.4とか trove にも登録されたし、自分で書いてるライブラリは対応させてこうかなというところです。 で、各種バージョンでのテストを通すのに tox 使うのが最近の常識になってきていると思いますが、travisでciをしようとすると、.travis.ymlに同じようなことを書いてしまうわけです。 さらに、今のところ travis ではpython3.4が入っていない。 最近注目している次期PyPIの実装である warehouse をみていたら、python3.4でtravisでのテストを実行させている。 しかも、中でtoxを呼ぶようにしている。 python3.4は単にdeadsnakesからapt-getでインストールしているだけです。 tox呼ぶこと自体は簡単で、単に .travis.yml で script に tox を指定すればOK。 ただし、これだと to