タグ

ブックマーク / pelican.aodag.jp (7)

  • 複数バージョンのPythonを使い分ける

    なんとなくネタとして。 Pythonは大きく2系と3系になってますが、そろそろ3系に移行しつつも2系のケアをしてあげないといけません。 なので必然的に複数バージョンのPythonを使い分けることになります。 なんかそういうの簡単にできちゃうよーという 超便利ツール があるらしいですが なんでわざわざツールの使い方覚えないといけないのかさっぱり理解不能なので、 超便利ツール にさっぱりついてけないなりのやり方をメモっておきます。 方針とか プロジェクト内ごとの環境は virtualenv を使う tox を使ってバージョンごとのテストなどを実行する /opt/python-{version} にインストールする バージョンつきの pythonコマンド(python3.4,``python2.7`` など) は PATHに常に含まれるようにする とりあえずvirtualenvするには pyth

    peketamin
    peketamin 2014/05/04
  • ubuntuでpyvenvしたときの落とし穴

    dockerでアプリケーションテスト用の環境を作ろうとしたときにはまったので、誰得メモ。 python3.3のwebアプリケーションのテストをpostgresqlとかredisとかを簡単にリセットできる環境がほしいと思ったので、dockerで試していました。 で、なんかsaucyのイメージって公式っぽい base リポジトリにはなかったので、とりあえずppa:deadsnakesで各種バージョンのPythonが完備されているshimizukawa/python-allを使ってみました。 そして、dockerの中で環境作るためにpyvenvしてからのget-pip.pyをしたところ、pipが $VIRTUAL_ENV/bin じゃなくて、 $VIRTUAL_ENV/local/bin にインストールされてしまう問題に気づきました。 これだとPATHに含まれてないので、最初はpipのインストー

  • PillowのバイナリをpipでWindowsで扱う話

    まだeasy_installを使っているというかわいそうな人がいるらしいので、 WindowsでもPillowとかのバイナリをpipでインストールできるよという話。 きっとかわいそうな人はPython2.7とかレガシーなの使ってると思うので、 ちゃんと2.7でvirtualenvしたよ! PS C:\Users\aodag_2> virtualenv.exe C:\Users\aodag_2\envs\pillow New python executable in C:\Users\aodag_2\envs\pillow\Scripts\python.exe Installing setuptools, pip...done. PS C:\Users\aodag_2> .\envs\pillow\Scripts\activate.ps1 (pillow) PS C:\Users\aodag

    peketamin
    peketamin 2014/02/12
    "まだeasy_installを使っているというかわいそうな人がいるらしいので"
  • Pyramidのセキュリティ

    Contents Pyramidのセキュリティの仕組み 認証 認可 アプリケーションでの実際 セキュリティ設定 ビューとモデル ログイン処理 まとめ 始めに断っておこう。Pyramidにはファンシーなログインフォームやユーザー管理なんてついてこない。 認証、認可の仕組みはあるが、Pyramidに設定一発で動くような押しつけがましいViewやModelは存在しない。 そういうのが好きな人はDjangoというフレームワークがあるから、そっちにしときな。 このエントリでは、Pyramidで認証、認可の仕組みを使う方法を説明する。 CSRFとかそういうのは扱わないのであしからず。 Pyramidのセキュリティの仕組み 先に述べたとおりPyramidには認証と認可の仕組みがある。 認証というのは、今アプリケーションを使っているのが誰なのかを特定するもので、 認可は誰がその機能や処理を実行してよいかと

  • Pythonライブラリメモ

    分野別メモ(一部、趣味嗜好による偏りがあります) Contents 日付 webプログラミング データ処理 クライアント WSGI/フレームワーク WSGI/ツール、ライブラリ ストレージ RDBドライバ ORM NoSQL キャッシュ ドキュメンテーション テスト 開発 パッケージング/配備 構成管理 日付 python-dateutil arrow mxDateTime webプログラミング データ処理 simplejson lxml pycrypto クライアント requests openid2rp httplib2 WSGI/フレームワーク pyramid flask bottle wheezy web2py turbogears2 pylons WSGI/ツール、ライブラリ webob pastedeploy repoze.* zope.* jinja2 mako chamel

    peketamin
    peketamin 2014/01/13
  • 効果的なunittest - または、callFUTの秘密

    Contents unittest を効果的に使うための覚書 目的 ルール: テスト対象のモジュール(module-under-test)をテストモジュールに直接importしない ガイドライン: モジュールスコープでの依存を最小限にする ルール: 各テストメソッドでは、1つの事実だけを確認する ルール: テストメソッドは内容を表すようにしよう ガイドライン: setupはヘルパーメソッドで提供しよう。テストケースのselfで共有するのはやめよう。 ガイドライン: フィクスチャは可能な限り簡潔に ガイドライン: フックやレジストリなどの利用は注意深く ガイドライン: 依存関係を明確にするためにモックを利用する ルール: テストモジュール間でテキストを共有しない まとめ https://twitter.com/tokibito/status/412074246026698753 ということで

    peketamin
    peketamin 2013/12/17
  • PythonでWebAppの開発に必要なN個のこと

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

    peketamin
    peketamin 2013/09/10
  • 1