プログラミング全般たのしいPython今夜コードを書いているすべてのヒトへプロフィールAuthor:辻真吾(つじしんご)www.tsjshg.infoいまは、大学の研究室を主な拠点に、色々やってます。このブログはPythonの話題が中心ですが、どちらかというと日々の仕事で使う知識を、自分のためにメモしたものです。万が一どなたかの役に立てば光栄です。githubgoogle-code-prettify管理者ページこのブログをリンクに追加するPythonからTeXをコンパイル20年ほど前、学部の卒業論文を書くために初めてつかってTeXですが、こんなおっさんになっても、世話になっているなんて、当時は想像も出来ませんでした。それはいいとして、TeXはちょっとコンパイルが面倒なので、MAKEファイルを作るのがいいです。Pythonとか他の環境から、TeXをコンパイルしたいなーと思うこともあるかも知れません。通常TeXはエラーがあると、OSシェルからインタラクティブにユーザーに対して対応方法を聞いてきますが、Pythonからコンパイルしている時は、面倒なので、成功か失敗かを教えてくれると便利です。そんな時使えるのが、-halt-on-errorオプション。コンパイル中にエラーが起こると、そこで処理を中断します。subprocess.call(args)print(ret)異常終了だと、retが0ではない数字になるので、その後の処理を分岐できます。向こう5年で、3人くらいの人にしか役に立たなそうな記事だし、そのうちの1人は、忘れて、検索して、自分のブログに辿り着く私な気もしますが、ネットに書いておくとあとで探せるので便利です。top↑Sublimeと恋に落ちられるか?学生時代、研究室で使っていたときから数えると、20年くらいEmacsを使って来ました。途中、秀丸さんにお世話になったときもありますが、それも2年くらいなので、Emacs人生長いです。最近、日本語を入力していると、変換を確定した瞬間に、たったいま入力した文字列が消失するという謎のエラーに見舞われるようになり、ちょっとストレスだなーと思っていました。Emacsではなくなった頃から、調子がおかしくなり始めたなーと思ったりしましたが、今回話題のSublimeへ乗り換えを検討してみることにしました。Controlをインストールしたあとに、SublemacsProを設定。Emacsキーバインドを再現してくれますが、Ctrl-X,Ctrl-Fが効かないなーと思っていたら、Projectにフォルダを追加する必要がある模様。Project...で設定できます。最近Sphinxでドキュメントを書くことが多いのですが、デフォルトのカラースキームが今一つ。そこで少し探して、これを入れてみました。慣れてきてはいますが、まだまだ問題が噴出。お」ってなって、Emacsのインラインパッチあてたくなる。Pythonのソースコード書いている時は、かなり便利。これまで、入力補完なんて、使うヤツは甘すぎると思ってましたが、歳とってきたので、少しは楽をしてもいいかなと最近思いはじめました。近代的なエディタはすごいです。恋には落ちてませんが、Pythonでカスタマイズできることもあり、Sublime少し使ってみようかと思います。top↑HaskellをMacにインストールちょっとインストールしてみようと思っただけなのに、プチ嵌まり。found)なんで?と思い、探してみると、/usr/lib/libiconv.dylibはちゃんとある。カレントディレクトリを/usr/libに移すとちゃんと起動する。libiconv.dylibとしてみた。なんか、違うような気もするけど、動いてればいいかという感じで。簡単なTex用のMakefileそのまま実行するとmain.texをコンパイルしてPDFを作ります。main.texの中に別のソースがincludeされていてもOK。top↑mercurialとbitbucketを使ってみた分散型のバージョン管理システムと言うと、Linuxのソースコード管理に使われているGitが有名です。広く使われているホスティングサービスとしては、GitHubがあります。したプログラムのバージョン管理やソースの公開には、これらのソフトウェアやサービスがとても便利だと思っておりましたが、Python使っているんだったら、やはりmercurialとbitbucketでしょー、ということで今回これらを利用してみることにしました。mercurialは、Pythonで作られた分散型のバージョン管理システムです。中央に管理サーバーがなくても利用できることや動作が軽快なところが売りのようです。使いやすさも強調されていますが、たしかに少し使ってみた感じではかなり使いやすいです。まあGitよりmercurialのほうが愛があるという話もありますが。.hgなる管理用のディレクトリが作成されますので、次に履歴を記録したいファイルを追加して、commitします。commitviが起動してコメントを入力すれば完了です。-mオプションでコメントをコマンドラインから指定することも可能です。ちなみに、MacOSXでは最初「ユーザー名がわからない」旨のエラーが出ました。その場合は、ホームディレクトリに.hgrcを作成し、このなかにユーザー名等を記述します。起動するエディタなどさまざまな設定がこのファイルで出来るようです。bitbucketは、mercurialを使っている方々に便利なコードホスティングサービスです。githubとものすごくサービスが似ているので、乗り換えても、一瞬どっちのサイトにいるのかわからなくなるほど操作性に違いはありません。ひとつだけgithubにあってbitbucketに無いサービスとしてこんな感じのプロジェクト紹介用の静的なWebページの作成機能があるように思えたのですが、ちょっとした裏技を紹介してくれている人がいます。世の中すごい人が多いです。参考文献としては、日本語唯一のmercurial解説書だと思われる以下の書籍が秀逸です。stepで使い方を解説してくれて、本の中盤からはちょっと高度な利用法がわかります。mercurialでローカルのファイルの管理をしてみようと思います。