スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【--/--/-- --:--】 | スポンサー広告 | page top↑
PythonからTeXをコンパイル
20年ほど前、学部の卒業論文を書くために初めてつかってTeXですが、こんなおっさんになっても、世話になっているなんて、当時は想像も出来ませんでした。

まあ、それはいいとして、TeXはちょっとコンパイルが面倒なので、MAKEファイルを作るのがいいです。

ただ、Pythonとか他の環境から、TeXをコンパイルしたいなーと思うこともあるかも知れません。通常TeXはエラーがあると、OSシェルからインタラクティブにユーザーに対して対応方法を聞いてきますが、Pythonからコンパイルしている時は、面倒なので、成功か失敗かを教えてくれると便利です。

そんな時使えるのが、-halt-on-errorオプション。コンパイル中にエラーが起こると、そこで処理を中断します。Pythonから使うイメージは、こんな感じでしょうか?


import subprocess
args = ['platex', '-halt-on-error', 'tex_doc']
ret = subprocess.call(args)
print(ret)


異常終了だと、retが0ではない数字になるので、その後の処理を分岐できます。

向こう5年で、3人くらいの人にしか役に立たなそうな記事だし、そのうちの1人は、忘れて、検索して、自分のブログに辿り着く私な気もしますが、ネットに書いておくとあとで探せるので便利です。


【2016/07/17 12:45】 | プログラミング全般 | トラックバック(0) | コメント(0) | page top↑
matplotlibで日本語表示(MacOS)
原点回帰。このブログは、自分へのメモのために始めたんでした。

matplotlibやseabornでグラフを描いていると、日本語が□□□などになって、残念な事が良くあります。そんなときに便利なコードを貼っておきます。


import matplotlib
import matplotlib.font_manager as font_manager
path = '/Library/Fonts/ヒラギノ丸ゴ Pro W4.otf'
prop = font_manager.FontProperties(fname=path)
matplotlib.rcParams['font.family'] = prop.get_name()
matplotlib.rcParams['font.size'] = 12 #ついでに文字を少し大きく


Linuxなどで、どんなフォントがあるかわからないときは、
font_manager.findSystemFonts()
で、一覧を取得できます。日本語フォントっぽいのを見つけて、pathに指定すればOK。
【2016/07/07 12:08】 | Python | トラックバック(0) | コメント(0) | page top↑
cx_OracleをWindowsに設定する
PythonからOracleに接続するために使われるライブラリはいくつかあるのかも知れませんが、cx_Oracleがデファクトスタンダードのようです。

Windowsだしバイナリ版もあるから、一瞬で設定できると思ったんですが、久しぶりにハマったのでメモっておきます。

まず、すこし調べて見ると、インストールの前に、Oracleが配布しているInstant Clientの設定が必要です。
なんかいろいろあるんですが、Basic、SQL*Plus、SDK、ODBCあたりを入れておけば十分かと思われます。入れすぎかも知れませんが、まあココはあまり問題ではありません。

ダウンロードしたzipファイルを解凍して、適当なディレクトリに放り込み、このディレクトリをWindowsの環境変数、ORACLE_HOMEに設定して、おなじくPATHにも追加します。PATHにだけ追加すればいいような気もしますが、これも特に問題ではありません。

設定出来たら、cx_Oracle-5.2.1-12c.win-amd64-py3.5.exeなど、Pythonのバージョンなど環境に合ったものを持ってきて、インストーラを普通に実行。Windows、バイナリあると楽だなと思ったんですが、これだとちゃんと入らない。

>>> import cx_Oracle
Traceback (most recent call last):
File "", line 1, in
ImportError: DLL load failed: The specified module could not be found.

と、なんとも愛想のない返答。環境変数の設定などを確認するも、原因不明なので、何でコケているのか調べることに。
ライブラリの依存関係を調べてくれる、Dependency Walkerなるものがあるようで、さそっく使って見ます。

本体は、site-packagesの中のcx_Oracle.cp35-win_amd64.pydなので、これをDependency Walkerで調べると、Oracleのoci.dllは読み込んでいるものの、oci.dllが依存するMSVCR100.DLLが無い!

なんて中途半端なんだ・・・と思いながら、調べるとよくあることらしい。MSのサイトから、持ってきて、設定後、cx_Oracleを再度インストールしたら、動くようになりました。

ちなみに、Macの場合、バイナリはありませんが、開発環境を整えれば、ここにあるように、すぐに入ります。

Windowsも中身UNIXにしちゃえばいいのに、と思った土曜の夕方でした。
【2016/05/28 18:45】 | Python | トラックバック(0) | コメント(0) | page top↑
実践Pythonデータサイエンス@Udemyの値引き
最近、Udemyで「実践Pythonデータサイエンス」というコースを公開しました。

もとは、英語版だったものを翻訳したのですが、Pythonを使ったデータ解析の方法を、網羅的に学べます。全部で17時間
のコースなので、結構見るだけでも大変ですが、このスキルを習得できれば、さまざまなシーンで応用可能だと思います。

そんなUdemyですが、2016年の4月4日から、価格が改定されるらしいです。いくらになるかまだ決まっていないようですが、だいぶ安くはなるようなので、ここでは先行して、先着100名様に45ドルキャンペーンをやります。今のレートでだいたい5,000円くらい。2016年3月31日まで有効なクーポンで、以下のリンクから購入することで割引になります。

https://www.udemy.com/python-jp/?couponCode=201603D45

もし、Pythonとデータ解析に興味がありましたら、是非、お試しください。
【2016/03/04 11:58】 | Python | トラックバック(0) | コメント(0) | page top↑
統計学が分かる本
みんなのPython勉強会#9で、統計の話をしながら、相変わらず統計がよくわからんと思っていたところに、とんでもなく分かり易い入門書を発見したので、記録しておきます。



Amazonでの評価が異常に高かったので、購入してみましたが、読んでびっくり!
私も、理数系の大学をでているので、この本に出てくることで知らないことは1つもありません。正規分布、χ2分布、t分布、チェビシェフの不等式...
しかし、説明の仕方や順番を工夫するだけで、ここまで物事を分かり易く伝えることができるものなのかと、感動しました。著者の小島寛之先生、説明の天才だと思います。

分かるように伝えるということの重要性を改めて認識しました。いやー、しかし久しぶりに凄い本に出会った。
【2016/02/19 00:40】 | 数学 | トラックバック(0) | コメント(0) | page top↑
前ページ | ホーム | 次ページ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。