Python
requirements.txtでリポジトリーURLを指定したいことがあります。たとえばSageMakerではコード用のディレクトリーにrequirements.txtを配置することで、起動時に依存ライブラリーをインストールしてくれます。その際に問題になるのが、Neuron系のライブラリ…
2024年9月27日、28日はPyCon JP 2024のカンファレンスデーでした。 https://2024.pycon.jp/ 今回はトークの満足度が個人的にとても高かった。とくにコア開発、処理系、PEP Author(仕様策定に携わる人)のトークも充実しており、トークだけを見てもイベント…
自走プログラマー表紙 「自走プログラマー」という本が出ます! この本は僕と清水川さん、tell-kさんで、株式会社ビープラウドの仕事として書いた本です。 自走プログラマーには僕の10年来の開発ノウハウを詰め込みました。清水川さんtell-kさんに至ってはも…
こんにちは。 Pythonに関する書籍を書く際や、人に説明するときに「リストはイテレーター」と言っていませんか? それは間違いです。僕自身も勘違いしちゃうことがよくあるので、記憶を整理する意味でもブログにまとめておきます (もし間違えていたら教えて…
Djangoのマイグレーションで実行される処理(とSQL)を確認する方法を説明します。 先日の記事では「Djangoマイグレーションを無停止で反映する方法」を説明しましたが、そのためにはマイグレーションでどんなSQLが実行されるかが重要になります。 blog.hiro…
Djangoはデータベースマイグレーションの機能を持っています。 ですが、 実際、Djangoマイグレーションってどう使うの? という疑問が多いかと思います。 docs.djangoproject.com この記事では、 マイグレーションを稼働中のアプリケーションに、無停止でど…
ブログに書くコードスニペットはPEP8を厳密に守るべきでしょうか。 pep8-ja.readthedocs.io ブログ記事に書くPythonコードはPEP8を気にしすぎなくて良いのでは 僕はブログ記事に書くPythonコードは、PEP8をそこまで気にしないで良いと思っています。 ブログ…
invoke(pyinvoke)というプロジェクト管理用のツールを使っていたときに出た疑問の解決方法を説明します。 とはいえ、私自身もまだこの方法で良いのか疑問なので、より良い方法を知っている人はぜひ教えてください。 invoke(pyinvoke)とは プロジェクトでの開…
「ここで改行するほうがキレイで良いと思います」 『いや、私はこちらのほうがキレイ良いと思います』 コードレビューでこういう議論をしたことはありませんか? 大切なことだとは思いますが、生産性にはあまり直結しません。議論を避けるために書き方を決め…
Pythonでファイルを with open してファイルを読む前に return しちゃうとファイルがクローズしてしまいます。 ValueError: I/O operation on closed file エラーが発生します。 def load(): with open(...) as f: return csv.reader(f) >>> for row in load…
よくプログラミング初心者の方に「PythonとRubyの違いを教えてください」と聞かれるので書いておきます。 免責 あくまで僕がプログラミング初心者さんに説明するときにこの説明を使うよという視点です。読んでる方が思う視点とか別の意見はぜひご自身のブロ…
あつおさんがPEP572でフィボナッチ数列を作って遊んでいたので、僕も遊んでみた。 Python 3.8.0a1時点の話です。 はじめてのPEP 572書いた>>> [((p1+p2), (p3:=p1), (p1:=p2), (p2:=p3+p2))[0] for x in (range(2, 10), (p1:=1), (p2:=1))[0]][2, 3, 5, 8, 1…
最近Pythonの非同期処理、asyncioを使ったプログラムを書いています。 今までは非同期だとNode.jsを使っていたんですが、aiohttpや周辺ライブラリーが揃ってきたようなので使っています。 Node.jsの場合、Streamは stream.pipe(other_stream) のようにPipeで…
mypy使っていますか?私は最近プロジェクトにも入れて使っています。 ですが typing.Tuple の扱いがうまく分かっていなくて、こんなプログラムを書いていました。 # 悪い例 import typing my_tuple: typing.Tuple[str] = () my_tuple = ('mymodule.myfunc', …
まえがき このブログ記事は、ある大きなドキュメントの一部のために書いています。 WSGIを説明している記事やドキュメント、本はたくさんあるので、このブログ記事で新しく説明されることはありません。 本文 PythonのWebアプリケーションは WSGI という仕様…
Djangoのモデルから親のモデルを取ると(select_relatedなどしていないと)1クエリー実行されてしまいます。 以下のように、親のさらに親を取ろうとすると2クエリー実行されます。 me.parent.parent me.parent の時点で1クエリー実行されて、 parent.parent …
Djangoで権限管理ってどうやっていますか? Django自体が持つGroupやPermissionはイマイチ業務では使えないというのが実際のところなのではと思います。 そんな悩みを解決するために django-keeper というライブラリーを作りました。 こんな悩みに: DBで権限…
ウィジェットとは、Django で HTML の入力エレメントを表現するためのオブジェクトです。ウィジェットは、 HTML のレンダリングや、個々のウィジェットに対応するデータをGET/POST 辞書から抽出する処理を行います。 http://djangoproject.jp/doc/ja/1.0/ref…
Ubuntu で M2Crypto を使おうとしてハマった。 ImportError: /home/hirokiky/.virtualenvs/hogeenv/local/lib/python2.7/site-packages/M2Crypto/__m2crypto.so: undefined symbol: SSLv2_method エラー文は上記のようなものがでた。
(第19回)Python mini Hack-a-thon - connpass#pyhackに参加してきました。3度目です。 やったことは Djangoのドキュメント翻訳 とあるイベントのミーティング
(第18回)Python mini Hack-a-thon - connpass#pyhackに参加してきました。2度目です。
Webフィードが何語で書かれているかという情報がどこにあるのかというメモ。 フィードの形式、バージョンによって若干違うようです。 fd = feedparser.parse(url) if fd.version == 'rss091u' #RSS0.91 lang = fd.feed.language elif fd.version == 'rss10':…
MeCabを使って集合知プログラミングという書籍のサンプルコードの日本語対応をしてみた.書籍でも日本語対応について書かれてるけど,Yahoo!形態素解析が使われてるんでレスポンスが悪い.大量のデータを用いて分類機とかの性能を評価するには不向きなので,…
これは 2011 Pythonアドベントカレンダー(Python3) - connpass の記事です。 @ryoaita さんの指名を受けました、22日目の @hirokiky です。 このアドベントカレンダーはPython3に関することをみんなで書きましょうというものです。そこでこの記事では Python…
(第14回)Python mini Hack-a-thon - connpassに参加してきました 昼ご飯に食べたソーセージが美味しかった。 終わり。ってのは嘘
Python で、入力された値が整数か小数か判定する関数を書いたのでメモ。 入力は float 型しか受け付けません。
1ヶ月前にバグ報告したのですが、まだ反映されてません。 ダウンロードしなおして同じところでハマったので、こちらにも残しておきます。
こんにちはhirokikyです。 Pythonのカンファレンスがあるということで、#PyConJPに参加してきました。 PyCon JP 2011 上の写真は、PyConJPでつけていたネームプレートです。 発表の内容はもちろん、イベント自体がとても楽しかったです。
htmlをプレーンテキストにしたいなぁとググっていると html2text.py HTMLをプレーンテキストに: つちのこ、のこのこ。 こちらのhtml2text.pyが小さめで便利そうです。 しかしハマる点があります。
Pythonの組み込み関数のzipに感動したのと、reversedと上手く組み合わせれたのが嬉しくて更新。