Pallets is the open source community organization that develops and supports popular Python frameworks. The goal of Pallets is to grow the community around these projects to create a sustainable group of maintainers, contributors, and users. The following projects are the Pallets core libraries. We also provide support for community maintenance of our extension ecosystem. Flask Quart Jinja Click W
「ほとんどの状況への対処について、一つの正しいやり方にフォーカスする」言語であるPythonですが、その文字列フォーマットは非常に悩ましく、また年々、多様化が進んでいます。 Python 3.6 では、文字列をフォーマットする方法には3通りあります(簡単な結合や string.Template の使用を除きます)。 %演算子 str.format関数 文字列の補完 (もし、この記事を全部読むつもりがないようであれば、 2016年2月に開催されるPyGrazの会合 に関する記事で、追加の例を含めてもう少し幅広くご紹介したいと思います) %形式の文字列フォーマット %形式は、少なくとも1.0バージョンからPythonに組み込まれているフォーマットです。Python 3以前のバージョンから使用している方には馴染みがあるでしょう。 多少の相違はあるものの、これはC言語の sprintf と同等の関
Pythonが嫌いになったの? Pythonについて嫌気が差したとか、Pythonが嫌いになったわけではありません。これからも一番好きな言語は恐らくPythonですし、実際のところ、機会があればPythonは書こうと思います。ですので、決して言語としてPythonが嫌いになったわけではありません。 そもそも、職業プログラマとして、ちゃんとしたオブジェクト志向を教えてくれたのはPythonでした。Pythonは、その言語仕様からして、出来るだけ簡潔かつ、綺麗に書けるし、Pythonについて深く知れば、プログラミングとはどういうことなのかについて、詳しく知れるほどの、わかりやすい言語であることは事実ですし、初心者向け言語として、Pythonは強く押したいという気持ちは今も変わりませんし、ずっとPythonならびにそのコミュニティに関して感謝の気持ちはずっと忘れないでしょう。 また、近年ではPy
Python パッケージ管理技術まとめ (pip, setuptools, easy_install, etc) Python のパッケージ管理関係の情報がオフィシャルには整理されてなく、 またパッケージ管理まわりででてくるキーワードもいくつもあって分かり難いので完結にまとめてみました。 このドキュメント自体は少し長いですが、結論としては2015年1月時点では 原則 pip を使ってパッケージの管理を行う setuptools も広く使われているので入れておくとよい。そもそも pip のインストール時に自動的ににインストールされる distribute は 2013年に setuptools にマージされたので不要 という方針でよいと思います。 ただ少し古い情報ソースやパッケージのドキュメントを読んでいると distribute の利用が勧められていたり、 site-packages, e
前提 pythonのパッケージ管理は、進化の歴史がとてもややこしいので混乱を招きがちです。 Web上の情報には古いものも多いです。このため、pythonのパッケージ管理に関するブログ記事等を参考にする場合は、記事の記載日時を確認して、なるべく新しい情報を参考にした方が良いです。古い情報と新しい情報で逆の事が書いてあったりするので、気をつけないと混乱します(例えば、distributeを使え!という情報、distributeを使うな!という情報の両方があったりします)。 先に結論 結局pythonのパッケージ管理には何を使えば良いの?という疑問に対して、手っ取り早く結論を書いてしまうと、 setuptools pip を導入すれば問題ないと思います(2014年7月時点)。 pythonのパッケージ管理について はじめに pythonのパッケージ管理では、setup.py, distutil,
Pythonをよく使う人にはよく知ってる人も多いのですが、docoptという便利ライブラリがあります。 docoptはargparseやoptparseのようなコマンドライン引数をパースするライブラリなのですが、その発想がコロンブスの卵なのです。 例えばPython標準のargparseだと、argparseのAPIを組み合わせてパーサを組み立てるわけです。するとパーサと一緒にヘルプも作ってくれて、"program --help"などとすると自動生成されたヘルプを表示してくれるようになります。 しかし、そのAPIを覚えるのが大変で、毎回ドキュメントを読まないと忘れちゃうわけです。 import argparse parser = argparse.ArgumentParser(description='Process some integers.') parser.add_argument
米Dropboxは4月3日、オープンソースのPython実装「Pyston」を発表した。LLVMのJITエンジンを利用するPython実装で、より高いパフォーマンスを目指すという。 PystonはLLVMおよびLLVMのJIT(Just In Time)実行エンジンを使用して構築されたPython実装。Python 2.7互換の実装で、現時点ではx86_64プラットフォームでのみ動作し、動作テストはUbuntuで行っているという。 パースされたPythonコードをLLVMの中間表現(IR)に変換し、LLVMのオプティマイザを経てLLVM JITエンジンで実行可能なコードを生成する。LLVMには最適化パスなど最適化のための仕組みが多数含まれており、高速なコードを精製できるとしている。現時点での性能については「CPythonよりも上だがPyPyよりは劣る」と報告されている。 Dropboxでは
haproxy はL7ロードバランサのソフトウェアです。 これによって Solr への検索要求をタダで簡単に冗長化・負荷分散することができるようになります。 haproxy インストール $ wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.8.tar.gz $ cd haproxy-1.4.8 $ make TARGET=linux26 <- OSのタイプを指定。READMEを参照 $ su - # make install <- デフォルトは/usr/local。変更する場合はPREFIX=/hoge/localなど指定 # cp examples/haproxy.init /etc/init.d/haproxy # chmod 755 /etc/init.d/haproxy # chkconfig --add haprox
「全てのwebエンジニアがPythonを勉強するべき2013年到来」(2013-01-01)という記事が人気を集めているようだ。巳年(ヘビ年)にひっかけて、これからPythonを勉強したい人を対象に、書籍やライブラリなどを紹介している。有益な情報が多数含まれているが、ちょっとPythonを試してみたいという程度の人には、これだと敷居が高すぎるように思う。 Pythonに限らないが、あたらしい言語をはじめるとき、もっとも障害になるのは「環境構築」だろう。Pythonの場合、LinuxやMacであれば、Pythonインタプリタは最初から入っているので、Pythonそのものをインストールする必要はない。しかし、「そのあとどうするのか?」というのが、なかなかむずかしい。例えば、「Hello, World!」を出すWebアプリを書くには、そこからどうすればいいのか。なんらかのWebフレームワークを使
WebアプリケーションをPythonで作成するときは、 DjangoやZope、Pyramidが使われているんだと思います。 簡単なWebアプリケーションであれば、FlaskやWeb.pyでしょうか。 でも、もっと簡単な機能だけでいい。可能であれば1ファイルで収まるようなフレームワークはないものか。 欲を言えば、wsgiなサーバーでも動かしたい。 探していたら、「Bottle」といフレームワークを見つけたので試してみます。 http://bottlepy.org/docs/dev/ インストール http://bottlepy.org/docs/dev/tutorial.html#installation pipやeasy_install、apt-getでもインストールできるようです。 $ sudo pip install bottle # recommended
1月に「Pythonを始めるなら、1ファイルの軽量Webフレームワーク「Bottle」がおすすめ」というのを書いたところ、なかなか反響が大きかった。そこで今回は、私がいくらか使ったことがあるPythonのWebフレームワーク6種について、かんたんに紹介するというのをやってみたい。コメントは、私のごく主観的な印象に基づいている。 Bottle(ボトル) http://bottlepy.org/ 「bottle.py」という1ファイルだけでできている。環境構築が不要なので、Python入門に最適。1ファイルに全部入っているので、組み込むのも容易だし、依存リスクもないので、実用にもいいと思う。これだけシンプルなのは、生存戦略としても強い。 CherryPy(チェリーパイ) http://cherrypy.org/ Bottleより大きいが、外部依存がないので、これも環境構築不要で、Python入
はじめに Pythonまったく使ったことないから、Pythonでなんか作ってみようと思ったのがきっかけです。 かといって、「Hello World」出すだけなんてしょーもないことしても意味が無いので、ちゃんとフレームワークを使ってMVCっぽく作ろうと思いました。 せっかくなので、自分がマンガを今何巻まで持っているかを管理するツールを作りたいと思います。いつも何巻まで持ってたっけかなーって忘れちゃうので。 CRUDの基本を抑えたサンプルです。 ちなみに、Pythonの構文やモジュールのインストール等は、検索すればすぐ出てくるのでググってください。 Pythonのフレームワーク Pythonのフレームワークで有名なのは、フルスタックなDjango、ライトなFlask、じわじわ人気が出てきてるらしいPyramidなどがありますが、 個人的にフルスタックなフレームワークは好きでないのと、1ファイル
Pure Pythonによる、lex および yacc の実装 LALR(1)および広範な入力検査、エラー、診断レポートを備えるので、他言語で yaccを利用しているなら 比較的素直にPLYを利用できる 概要 PLYは、lex.py および yacc.py の 2つのモジュールを ply パッケージに含んでいる。 2つのツールは協調して作業を行う lex.py モジュールは入力されたテキストを 正規表現により定義された字句のコレクションに分解する。 次の有効なトークンを入力ストリームから返す、token()関数を、外部にインターフェースとして提供する。 yacc.py 自由文法として定義された言語の構文を評価する。 LR で解析を行い、LALR(1) (デフォルト) もしくは SLR アルゴリズムでパースする。 lex.py の token()を繰り返し呼び出し、トークンを参照し、文法ルー
Python, Ply前回から既に4ヶ月。その間にJParsecへの熱はすっかりさめてしまった...。 もっとお手軽なものはないかということで、今回はPLY (Python Lex-Yacc)を使ってみた。 まずはASTのみ前回と同じじゃ面白くないからSchemeっぽく書けるようにしてみる。例えば、"(+ 1 2 3)"と入力したら"6"と出力される感じ。で、そのための土台となるASTを組み立てる部品を用意する。PLYの出番はまだ。 # シンボル class Symbol: def __init__(self, key): self.key = key def __str__(self): return self.key def eval(self, env): value = env.get(self) while isinstance(value, Symbol): value = v
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
予定と実績¶ Flaskを使う準備 20分 -> 60分 Flaskチュートリアル 40分 -> 60分 休憩 15分 Flaskを使いこなす1 40分 -> 60分 アプリを公開する 20分 -> 20分 休憩 15分 Flaskを使いこなす2 30分 -> 30分 プラグイン、情報源紹介、Q/A、予備 -> 10分
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く