タグ

pythonに関するkzfmのブックマーク (264)

  • [Python] setuptools - SumiTomohiko's blog

    この記事について この記事は、setuptools - The PEAK Developer's Centerの日語訳です。まだ途中ですが、先が長いので、ここで一旦公開します。 なお、訳者は翻訳しただけで、記事の内容については確認していません。悪しからずご了承下さい。 setuptoolsを使ったパッケージのビルドと配布 setuptoolsは、Pythonのdistutils(ほとんどのプラットフォームではPython 2.3.5以上に対応します; 64ビットのプラットフォームでは、Python 2.4以上が必要です)を多く拡張します。これにより、Pythonのパッケージをビルドし、配布することが容易になります。他のパッケージに依存しているパッケージでは、とくにそうなります。 setuptoolsを使ってビルドされ、配布されたパッケージは、ユーザにはdistutilsを使った普通のPy

    [Python] setuptools - SumiTomohiko's blog
    kzfm
    kzfm 2009/04/10
  • Aho Corasick 法 - naoyaのはてなダイアリー

    適当な単語群を含む辞書があったとします。「京都の高倉二条に美味しいつけ麺のお店がある」*1という文章が入力として与えられたとき、この文章中に含まれる辞書中のキーワードを抽出したい、ということがあります。例えば辞書に「京都」「高倉二条」「つけ麺」「店」という単語が含まれていた場合には、これらの単語(と出現位置)が入力に対しての出力になります。 この類の処理は、任意の開始位置から部分一致する辞書中のキーワードをすべて取り出す処理、ということで「共通接頭辞検索 (Common Prefix Search)」などと呼ばれるそうです。形態素解析Wikipediaはてなキーワードのキーワードリンク処理などが代表的な応用例です。 Aho Corasick 法 任意のテキストから辞書に含まれるキーワードをすべて抽出するという処理の実現方法は色々とあります。Aho Corasick 法はその方法のひと

    Aho Corasick 法 - naoyaのはてなダイアリー
    kzfm
    kzfm 2009/04/06
  • Não Aqui! » 10行強で書けるロジスティック回帰モデル学習

    ロジスティック回帰(logistic regression)の学習が,確率的勾配降下法(SGD: stochastic gradient descent)を使って,非常に簡単に書けることを示すPythonコード.コメントや空行を除けば十数行です. リストの内包表記,条件演算子(Cで言う三項演算子),自動的に初期化してくれる辞書型(collections.defaultdict)は,Python以外ではあまり見ないかも知れません. リストの内包表記は,Haskell, OCaml, C#にもあるようなので,結構メジャーかも知れません. [W[x] for x in X] と書くと,「Xに含まれるすべてのxに対し,それぞれW[x]を計算した結果をリストにしたもの」という意味になります.sum関数はリストの値の和を返すので,変数aにはXとWの内積が計算されます. Pythonでは,三項演算子を条

    kzfm
    kzfm 2009/04/02
  • PythonでMacOSXのクリップボードのデータを取得したり配置したり - 牌語備忘録 -pygo

    Python2.3あたりの時はCarbon.Scrap使ってたんだけど、Python2.5とかでこれ使うとbus errorとか出て困ってた。 Carbon.Scrapを使わない別の方法を発見 subprocessを使うコードを見つけた Build a Shared Clipboard Utility in Python : Page 3 以下コピペ import subprocess def getClipboardData(): p = subprocess.Popen(['pbpaste'], stdout=subprocess.PIPE) retcode = p.wait() data = p.stdout.read() return data def setClipboardData(data): p = subprocess.Popen(['pbcopy'], stdin=su

    PythonでMacOSXのクリップボードのデータを取得したり配置したり - 牌語備忘録 -pygo
    kzfm
    kzfm 2009/03/26
  • Whoosh

    Whoosh: a fast pure-Python search engine Whoosh is a fast, featureful full-text indexing and searching library implemented in pure Python. Whoosh was created and is maintained by MattChaput. It was originally created for use in the online help system of Side Effects Software's 3D animation software Houdini. Side Effects Software Inc. graciously agreed to open-source the code. Some of Whoosh's feat

    kzfm
    kzfm 2009/03/18
  • Introduction to Concurrent Programming with Stackless Python

    1.1   Why Stackless According the stackless website at http://www.stackless.com/: Stackless Python is an enhanced version of the Python programming language. It allows programmers to reap the benefits of thread-based programming without the performance and complexity problems associated with conventional threads. The microthreads that Stackless adds to Python are a cheap and lightweight conv

    kzfm
    kzfm 2009/03/16
  • Examples and LLVM Tutorials - llvm-py

  • 第5回 multiprocessingモジュールによるプロセス間通信 | gihyo.jp

    multiprocessingモジュール multiprocessingモジュールは、Python2系列では2.6以降、3系列では3.0以降に標準となったモジュールです。このモジュールはthreadingモジュールに似たAPIでプロセス間通信などの機能を提供します。このモジュールにより、GILの問題を回避することができ、複数のCPUCPUコアの性能を生かすことができます。また、このモジュールはローカルのみならず、リモートでのプロセス間通信も行うことが可能で、簡単に分散処理などを実装することができます。 まず、GIL(Global Interpreter Lock)とはPythonのインタプリタ上で一度に1つのスレッドだけが動作するよう保証するためのロックです。このロックによって、同時に同じメモリにアクセスするスレッドが存在しないことを保証します。 しかしながら、このロックによって、一度に

    第5回 multiprocessingモジュールによるプロセス間通信 | gihyo.jp
    kzfm
    kzfm 2009/03/12
  • dis — Disassembler for Python bytecode

    dis — Disassembler for Python bytecode¶ Source code: Lib/dis.py The dis module supports the analysis of CPython bytecode by disassembling it. The CPython bytecode which this module takes as an input is defined in the file Include/opcode.h and used by the compiler and the interpreter. CPython implementation detail: Bytecode is an implementation detail of the CPython interpreter. No guarantees are m

    dis — Disassembler for Python bytecode
    kzfm
    kzfm 2009/03/06
  • virtualenv - Doge log

    最近、流行りのvirtualenvですが、仕組み的なものにあまり触れられてないように 思えたので書いてみます。 機能 とりあえずvirtualenvの機能は ライブラリがまっさらな状態な環境を作る 作られた環境に対してのみモジュールをインストールできる です。 これを実現する仕掛けはそれほど難しくありません。 (virtualenv自体も基的に1ファイルのモジュールです。) とりあえず簡単に見ていきます。 ライブラリパス まっさらなライブラリを持った状態のpython環境はどうやって作るのでしょう? pythonは自分自身のパスの上位のlib/pythonx.xをライブラリとして認識します。 (pythonをソースからprefix指定でビルドした事があればわかると思います。) . |-- bin | `-- python `-- lib `-- python2.5 `-- ここが標準ライ

    virtualenv - Doge log
    kzfm
    kzfm 2009/03/03
  • Python でグラフ・(疎)行列計算するためのライブラリを紹介するよ - 武蔵野日記

    PageRank とか HITS といったリンク解析ではグラフの計算が頻発するのだが、Python でそのあたり書くときの話をまとめてみる。グラフは行列で表現できる(ノード×ノード次元の行列 A を考えて、ノード i からノード j にエッジがあるとき、A[i,j] に値を入れておけばよい。無向グラフのときは A[i,j] = A[j,i] なので対称行列になる)ので、要は行列を手軽に扱えるライブラリの紹介である。 実は Python の行列演算ライブラリはどれも lapack/blas を内部的に呼んでいるので、C/C++ 等と比較してもそんなに遅くない。それどころか、自動的に並列化できるところは並列化してくれたりするので、まれに C より速いこともあるらしい。特に巨大なグラフを作る場合、ほとんどの処理は C などで書かれた関数に飛ぶので、速度的な問題は無視してもいいくらいである(逆に、

    Python でグラフ・(疎)行列計算するためのライブラリを紹介するよ - 武蔵野日記
    kzfm
    kzfm 2009/03/02
  • Pyxis 開発ブログ

    kzfm
    kzfm 2009/02/26
  • pip って何(・ω・ ) - Djangoへの片思い日記

    http://d.hatena.ne.jp/mopemope/20090220/p4 で、pip って何!? pip http://pip.openplans.org/ pip is a replacement for easy_install. It uses mostly the same techniques for finding packages, so packages that were made easy_installable should be pip-installable as well. easy_install っていうか package の管理をもっと便利にするぜっていう認識でOK? とりあえずインストール $ sudo easy_install pip 自分の環境にインストールしてる package の一覧取得 $ pip freeze で出来る http:

    pip って何(・ω・ ) - Djangoへの片思い日記
    kzfm
    kzfm 2009/02/25
  • mercurial で wsgi を使うときの設定 - kozo-niのはてなダイアリー

    まずmod_wsgi入れて LoadModule wsgi_module modules/mod_wsgi.soみたいのを書く。 mercurial.confとかいう名前でapache用の設定(とりあえずBasic認証だけ) Alias /hg /var/www/cgi-hg <Directory "/var/www/cgi-hg"> AuthType Basic AuthName "hg repo" AuthUserFile /ht/passwd/file Require valid-user DirectoryIndex index.cgi AddHandler cgi-script .cgi Options ExecCGI </Directory>上の場合なら/var/www/cgi-hg/下にindex.cgi作って下記を入力 #!/usr/bin/env python from

    mercurial で wsgi を使うときの設定 - kozo-niのはてなダイアリー
  • 自分で立てるフリーのMercurialサービス·FreeHg MOONGIFT

    ※ 一部の画面は公式サイトのもの 分散型リポジトリは複数人での開発はもちろん、少人数(個人も含む)での利用にも便利なバージョン管理システムだ。すぐにはじめられるし、バックアップも簡単、ファイルサーバを使って管理するといったこともできる。 そんな分散型リポジトリサービスとしてはGitHubが有名だが、Pythonで作られているMercurial向けにもFreeHgが存在する。それもシステム自体がオープンソースだ。 今回紹介するフリーウェアはFreeHg、フリーで使えるMercurialサービスだ。ソースコードは開示されているがライセンスは明記されていなかったのでご注意いただきたい。なお、FreeHgはFreeHg上でホスティングされており、FreeHgにはオープンソースライセンスのもののみ登録できるとあるので何らかのオープンソース・ソフトウェアとは思われる。 FreeHgはDjangoを使っ

    自分で立てるフリーのMercurialサービス·FreeHg MOONGIFT
  • Fluent Interface(流れるようなインタフェース)をPythonでやってみよう - みずぴー日記

    30分プログラム、その529。ThoughtWorksアンソロジー ―アジャイルとオブジェクト指向によるソフトウェアイノベーションを読んでいたら「言語内にDSLを作りたいときは、Fluent Interface(流れるようなインタフェース)を使うといいよ!」と書いてあった。 そういえばFluent Interface(流れるようなインタフェース)は書いたことがなかったので、Pythonでやってみよう。 個人的には、内部DSLを作るときはFluent Interfaceを使うよりも、クロージャとかを使うほうが好みです。 使い方 sb = ShapeBuilder() rect = sb. kind('square'). width(10). height(20). color('red'). shape() ソースコード #! /usr/bin/python # -*- mode:pytho

    Fluent Interface(流れるようなインタフェース)をPythonでやってみよう - みずぴー日記
    kzfm
    kzfm 2009/02/17
  • hexacosa.net::Pythonでのオプションパースのおはなし

    私は仕事でよくPythonで小さなツールを作成します。ログ解析やログ収集、 日報の加工や共有サーバの自分のアカウントのバックアップ等々。 その際、ツールにコマンドオプションを渡すことはよくあるシチュエーションです。 今日はPythonでのオプションパースのお話を少し。 例として、-tオプションで時刻表示、-vでバージョン表示、 その他文字列指定でファイル内容を表示する(catコマンドみたいな感じ)、 コマンドを作成してみます。 初心者またはものぐさな人向け(sys.argv) コマンド引数にアクセスできるsys.argvを直接解析すれば 簡易のオプションパーサを作れます。(これをオプションパーサとは言わない気がするが) #!/usr/bin/env python __version__ = '0.0.1' import sys import time def usage(): print

    kzfm
    kzfm 2009/02/14
    optparseは便利
  • Pylons on Google App Engine

    Pylons ベースの AppEngine アプリの開発を再開。 Pylons を 0.9.6 から 0.9.7rc4 に上げ、 AppEngine の SDK も1.1.9 を用いた。 以下は、とりあえず動作させるまでのメモ。 Application & Sourcecode app: http://bia-hanoi.appspot.com/ source: http://bitbucket.org/junya/biahanoi/ source: http://code.google.com/p/bia-hanoi/ (後述の理由で Bitbucketに移行するかも) まずは Pylons 0.9.7rc4 を動かす Mike Orr の書いた "Creating a Pylons application for Google App Engine" の通りに行えばよい。 基ステップ

    Pylons on Google App Engine
  • Life with Cygwin

    沖ソフトウェア株式会社は、沖通信システム株式会社および株式会社沖インフォテックと平成22年10月1日をもって合併いたしました。新会社名は、株式会社OKIソフトウェアとなります。3社が行っております事業は新会社にて従来通り継続いたします。

  • TSNET - Text and Scripting Network

    テキスト処理とスクリプト言語を中心に取り扱います。

    kzfm
    kzfm 2009/01/23