あるプロジェクトの依存は特定なバージョンじゃないとダメな場合が結構多いと思いますけど、最近、pythonの仮想環境を簡単に作れるようになりました。virtualenv と virtualenvwrapper と pip の組み合わせを紹介します。 virtualenvは環境を作ってくれるライブラリで、virtualenvwrapperはその作った環境を簡単に管理してくれるツールになります。 まず、virtualenv と virtualenvwrapper をインストール.
テストツールですが Python 書いてます。ツールと言えば信頼性ということでテストですね。 Python でテストといえば doctest です。 テストツールと言えば nose です。 nose といえば coverage です。 インストールとかはは @aohta の記事で。 nose でテスト実行時のカバレッジを取得する。 - kuma8の日記 nose で doctest をするためには以下な感じで。 nosetests --with-doctest --with-coverage --cover-html --cover-package=snowflake(パッケージ名) --with-doctest で doctest --with-coverage はカヴァレッジ出力 --cover-html は cover/index.html から、結果をカラフルに --cover-p
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 みんなのブロックチェーンは,ブロックチェーンの入門書。暗号やハッシュなどを含め,基礎からブロックチェーンの仕組みを学べる書籍です。 いろんな方に「新しい技術を学ぶことの楽しさ」を感じ取ってくれたら著者として嬉しいです:-)。お金は技術的にどのように定義されるのか。 みんなのIoTは,モノのインターネットと呼ばれるIoTの入門書です。IoTの基本について,読者に寄り添って優しく解説しました。裏テーマは一番とっつきやすいPython入門書。サポートページはこちら みんなのPython 第四版は,より分かりやすい入門書を目指し,機械学習やデータサイエンスの章も追加して第三版を大幅に書き換えました。Python 3.6にも華
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 みんなのブロックチェーンは,ブロックチェーンの入門書。暗号やハッシュなどを含め,基礎からブロックチェーンの仕組みを学べる書籍です。 いろんな方に「新しい技術を学ぶことの楽しさ」を感じ取ってくれたら著者として嬉しいです:-)。お金は技術的にどのように定義されるのか。 みんなのIoTは,モノのインターネットと呼ばれるIoTの入門書です。IoTの基本について,読者に寄り添って優しく解説しました。裏テーマは一番とっつきやすいPython入門書。サポートページはこちら みんなのPython 第四版は,より分かりやすい入門書を目指し,機械学習やデータサイエンスの章も追加して第三版を大幅に書き換えました。Python 3.6にも華
ここ日本ではEmacs,PythonいずれもVim、Rubyと比較すればマイノリティ。ので、この組み合わせの開発環境って作ろうと思うと結構大変だったりします。 というわけで、いぢりまくっていたEmacsのpython環境がようやく固まってきたのでメモとしてまとめておきます。 結構長くなりそうなので、2部構成とし今回は基礎環境編ということで次のelispを入れていきます。 -python-mode.el -pymacs.el -ipython.el 導入(ubuntuの場合) [cpp] sudo apt-get install python-mode ipython pymacs [/cpp] 終了。 導入(Winの場合) ubuntuのようにaptみたいな仕組みがないのでお手軽にはできません。ちょっと面倒くさいですがいちから入れていきます。いい加減Winもちゃんとしたパッケージ管理システ
概要¶ これは Google Python Style Guide Revision 2.29 を日本語に訳したものです。 本家ガイドは CC-By 3.0 ライセンス の基で公開されています。また、本ガイドも同ライセンスを継承します。 本家ガイドの著者は以下の通りです。 Amit Patel Antoine Picard Eugene Jhong Jeremy Hylton Matt Smart Mike Shields また、本ガイドの翻訳者は以下の通りです。 Kosei Kitahara 本ガイドに誤植、誤訳があった場合は issue で教えてください。 その他本ガイドに関する問い合わせは、サイト最下部に記載のメールアドレスか @Surgo にお願いします。 はじめに¶ Python は Google で使われている主要なスクリプト言語です。 このスタイルガイドは Python によ
bulkloaderとは remote_apiを使ってコンソールからDatastoreにデータをアップロードするためのツール。 初期データとして大量のデータをDatastoreに突っ込んでおきたいときなどに便利。 逆にDatastoreにある内容をダウンロードすることもできる。削除をするようには作られていない? 今のところPython版のみ。Java版もそのうち出る? http://code.google.com/intl/ja/appengine/docs/python/tools/uploadingdata.html 簡単な使用例 例えばアプリケーション内で、model.pyというファイルでこんなクラスを作るとする。 from google.appengine.ext import db class PersonalData(db.Model): name = db.StringPro
予定は未定です。 概要 日程 2010-01-23 10:00 - 20:30 (開場 9:00) 参加資格 ゆったりまったりがお好きな方 場所 東京 twitter ハッシュタグ #monjudoh 懇親会 もしやるなら当日募集 参加申込 "Python Hack-a-thon #3 : ATND" 遅刻厳禁!!! Python Hack-a-thon #3 の情報は #monjudoh を付けますのでこちらを読んで頂ければ。 遅刻というか開場時間について 休日のため入り口がロックされています、そのため入れる時間を固定しました。 これは運営をお手伝いして頂いてる運営の方々に迷惑をかけないための処置です。 ご理解ください。 受付がいる時間帯は以下の通りです。 09:00 ~ 10:30 12:00 ~ 13:00 15:00 ~ 15:30 もし上記以外の時間に入りたい場合は「既に会場にい
前回はオブジェクトに副作用があるという設計上の問題を解決する為に、timesメソッドの戻り値をDollarに修正しました。この変更はバリューオブジェクトパターンを適用したと考える事ができます。 バリューオブジェクトとはその名前が表すようにオブジェクトが値そのものを表現するパターンです。つまり、Dollar(10)とDollar(10)は等価であり、Dollar(10)とDollar(15)は等価でない事が必要になります。まずはこの事を確認する為のテストを書きましょう。 def test_eq(self): """ 等価性に関するテスト """ self.assertEqual(Dollar(5), Dollar(5)) self.assertEqual(Dollar(6), Dollar(6)) 当たり前のよう成功すると思えますが、テストは失敗します。 1) Failure: test_e
前から常々思っていることだが、何かについて勉強する一番効率的な方法はそれを誰かに教えること。人に教えようとすると、それなりに準備をしなければならないし、自分の頭の中を整理しなければならない。また教える過程でするどい質問をされたり間違いを指摘されて、さらに勉強を強いられることもある。 私がこの手の「入門編エントリー」を書くのは、ほとんどの場合「自分自身の理解をより深めたい」ことが一番の目的であるが、ブログの場合、教室などと違って「その道の達人」みたいな人たちがツッコミを入れてくれるケースもしばしばあるので、そのメリットは何倍にもなる。 先日のクロージャに関するエントリーなどは良い例で、「そんな用途にはmemoizeというデコレータが便利」などの指摘がいただけだけであれを書いた価値があるというもの。 そこで、今日はPythonのデコレータに関して。デコレータがPythonという言語に導入された
Recent Entries テスト駆動開発 (test driven development: TDD) のすすめ GoogleAnalyticsAPI on EC-CUBE 土日で作るコンパイラ OPEN ERPに挑戦3 OPEN ERPに挑戦2 OPEN ERPに挑戦 ERPはたくさんあれど・・・ OpenGLで3D、やってみよう ライセンスなどのおさらい IPアドレスの基礎知識 Recent Comments No Responses. Recent Trackbacks No Responses. テスト駆動開発 (TDD)とは、「プログラム開発手法の一種で、プログラム本体よりも先にテストケースを書くスタイル」(wikipediaより)のことです。テストケースとは作ったメソッドがどのように使われて、どのような振る舞いが想定されるかが分かるような検証用のコードです。TDDでは、多数
http://blog.bestinclass.dk/index.php/2009/10/python-vs-clojure-evolving/ Clojureで書いたコードに比べてPythonは行数も多くて無様だとか言われた。 from itertools import ifilter import operator def mul(nums): return reduce(operator.mul, nums) def icross(*sequences): if sequences: for x in sequences[0]: for y in icross(*sequences[1:]): yield (x,)+y else: yield () def digits_from_num(num, base=10): def recursive(num, base): if num
※本文書は、Creating Templates For The paster create Commandのv.9 を翻訳したものです。上記のメタデータは、元データのものをそのまま引用しています。 はじめに Paste はとても強力なパッケージで、単にWSGI ミドルウェアというだけではありません。数週間前に私は、entry_points を用いて簡単なプラグインを作成する方法を実演しました。本稿では、Paste のプロジェクトテンプレート作成支援機能を利用して、まさにそのようなプラグインをどのように書くのか、また、Paste の paster スクリプトにコマンドをどのように追加するか、をお見せします。 仮想のコンテンツ管理システム(CMS)のためにテンプレートを作成してみましょう。作成するテンプレートは、Python パッケージのプロジェクトディレクトリ構造を生成することになるので、
こんにちわ、あらびきプログラマー moriyoshi です。 Python が生理的に嫌いな人からよく聞く話として「インデントでブロック構造を表す」ってのがありますね。じゃあ中身はそのままで文法だけ Ruby っぽくしたらどうなるんでしょうかね。Python はトークナイザもパーサも簡単に書き換えられるので、試してみましょう。 例えば次のようなプログラムは class Boo(object): def foo(hoge): try: for i in hoge: with i: if i.fuga: while True: j = i.fuga() if not j: break print j + 2 except HogeException: pass else: pass finally: pass こんな風になってしまうわけです。ああ怖いですね。 class Boo(object)
とりあえず自宅のMacでPubsubhubbubが動いたのでメモ 環境 Mac OS X 10.5.8 Python 2.5.2 Google App Engine SDK for Python 1.2.4 - 08/06/09 Pubsubhubbubのソースをチェックアウト GoogleCodeでホストされているリポジトリからPubsubhubbubのソース一式をチェックアウト $ svn checkout http://pubsubhubbub.googlecode.com/svn/trunk/ pubsubhubbub-read-only Hub,Publisher,Subscriberを起動する Pubsubhubbubには以下のようなディレクトリがあり、それぞれHub,Publisher,Subscriberのリファレンス実装がGAEアプリ(Python)として実装されている。
Pythonにはじめて触って、いつのまにか1年が過ぎたのですが、一番はまったのは、やっぱりunicodeの扱いだったと思います。 特に、 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-12: ordinal not in range(128) のようなエラーにはさんざん悩まされました。ここがたとえばrubyなど他の言語と比べてわかりにくいために、Pythonが取っつきにくい言語になっているのではないか、と個人的には思います。 そこで、このエラーに関係するはまりどころとTipsをいくつか列挙してみました。これからPythonに触れられる方の参考になればと思います。 なお、環境はUNIX上のPython 2.4, 2.5を想定しています。 u1はunicode型で、s1はstr型です。s1にどのよ
"Beautiful Kuwait 2" by creativesam 概要さて、実は以前からちょっと2chの文章を利用して、いろいろ弄くることができないかなぁとは思っていたんですが、残念な事に2ch用のpythonライブラリなんてマニアックなものは作っている人は誰もいない。 それじゃあ自分でなんとかしようの精神で作ってみようと。正直使う人が居るのかどうかは甚だ疑問なライブラリですが、損するわけじゃないので一応公開してみます。 というわけで、Pythonistaのための2chライブラリ"twopy"をリリースしました。 現在のところ単純なスレッド一覧の取得、スレッド上のコメント取得、コメント書き込みや新規スレッド機能に対応しておりますが、まだ完全に動作確認しているわけではないので使用は自己責任で。ちなみにライセンスはMITライセンスなんで、比較的自由に扱えると思います。改良はこれから始まる
Python版のmodule-starterみたいなもんはないのかなとつぶやいたらPasteが使えることを教えてもらった。ありがとうございます。 しかしよりによってPasteがこんな風に使えるとは。 paster create -t pylons helloworld pylonの組み込みコマンドの癖に-t pylonsってなんじゃそらとか思ってたのだけど実は組み込みコマンドじゃなかったという。 Pasteの使い方は paster create mymodule で対話的に入力していって答え終わると雛形完成。でディレクトリに移って hg init hg add hg commit までやるとあら不思議、分散リポジトリに管理されたPythonのモジュールスケルトンが数分で出来あがり。 ここまでやると、開発、実行(テスト)、リポジトリの管理がMeadowで全部出来るので楽チン。 あとsetup
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く